RO EN
Observability (2) — structured logging cu Serilog și Application Insights

Observability (2) — structured logging cu Serilog și Application Insights

Serilog configurat corect pentru producție: sink-ul Application Insights, enrichers pentru context automat, niveluri per namespace, request logging compact și capcanele de cost ale logging-ului excesiv.

Citește mai mult
Observability (1) — logging, metrics și traces

Observability (1) — logging, metrics și traces

Cei trei piloni ai observabilității și diferențele dintre ei: log-urile răspund la „ce s-a întâmplat", metricile la „cât de des și cât de rău", trace-urile la „pe unde a trecut". Când folosești fiecare și cum se completează.

Citește mai mult
Cosmos DB patterns (5) — Emulator în CI/CD

Cosmos DB patterns (5) — Emulator în CI/CD

Teste de integrare reale pentru Cosmos DB fără cont de producție: Emulator local și în GitHub Actions ca service container, fixture NUnit cu inițializare, certificate self-signed și capcanele de timing.

Citește mai mult
Cosmos DB patterns (4) — optimistic concurrency cu ETags

Cosmos DB patterns (4) — optimistic concurrency cu ETags

Lost update: două procese citesc, modifică și salvează același document — ultima scriere șterge prima. ETags și IfMatchEtag previn problema, cu retry pe PreconditionFailed și alternativa Patch pentru operații punctuale.

Citește mai mult
Cosmos DB patterns (3) — multi-region writes

Cosmos DB patterns (3) — multi-region writes

Când ai nevoie de scrieri în mai multe regiuni și ce preț plătești: consistency levels în context multi-region, conflict resolution cu Last-Writer-Wins și custom policies, plus configurarea SDK-ului .NET.

Citește mai mult
Cosmos DB patterns (2) — Change Feed ca trigger pentru evenimente

Cosmos DB patterns (2) — Change Feed ca trigger pentru evenimente

Change Feed transformă containerul într-o sursă de evenimente: fiecare insert și update devine un trigger. Change Feed Processor în .NET, lease container, scalare pe mai multe instanțe și cazuri practice.

Citește mai mult
Cosmos DB patterns (1) — partition key design pentru queries eficiente

Cosmos DB patterns (1) — partition key design pentru queries eficiente

Cum alegi partition key-ul corect în Cosmos DB: cardinalitate, distribuție și alinierea cu pattern-urile de query. Cross-partition queries, hierarchical partition keys și exemple concrete dintr-un sistem de chat AI.

Citește mai mult
Azure Service Bus (4) — Outbox pattern

Azure Service Bus (4) — Outbox pattern

Problema dual-write: baza de date și mesajul nu pot fi actualizate atomic. Outbox pattern cu Cosmos DB și Service Bus: salvezi evenimentul lângă date, un dispatcher îl publică garantat, consumatorii idempotenți închid cercul.

Citește mai mult