Cross-cutting concerns in microservices architecture include features such as logging, security, tracing, monitoring, and configuration management that are shared by several services.
Azure Key Vault is a fully managed secrets management service that helps you store and retrieve sensitive data in.NET projects securely.
Service discovery uses a registry to locate microservices in the network; microservices register and periodically expose their locations to a centralised.
Consul uses a distributed key-value store for microservices to register addresses and perform health checks. Clients utilise Consul to dynamically retrieve service endpoint details, boosting robustness by reducing hardcoded dependencies and adjusting to service changes.
A circuit breaker, similar to an electronic fuse for applications, protects against damage by stopping efforts to call a remote service or access a shared resource when failures are expected. It monitors API errors and, when they reach a certain level, prevents further calls, improving reliability.
Polly, a.NET package, provides developers with thread-safe policies such as retry, circuit breaker, timeout, bulkhead isolation, & fallback. In load concerns, its circuit breaker policy prevents escalation, separating it from retry policies, which can exacerbate circumstances such as database overload.