分布式应用程序通常由许多微服务组成,这些微服务在底层基础设施上可以扩展到数十个甚至数百个实例。随着这些分布式解决方案的规模和复杂性增加,系统故障的可能性也随之增加。服务实例可能由于硬件故障、意外的吞吐量或应用程序生命周期事件(如扩展和重启)等多种问题而失败或无响应。因此,设计和实施能够检测、缓解和响应故障的自愈解决方案至关重要。
Dapr允许您为应用程序定义和应用容错的弹性策略。您可以为以下弹性模式设定策略:
这些策略可以在调用具有弹性规范的组件时应用于任何Dapr API调用。
应用程序可能由于多种原因变得无响应,例如过于繁忙无法接受新任务、崩溃或死锁。有时这些问题可能是暂时的,也可能是持久的。
Dapr提供了一种通过探测来检查应用程序健康状况并对状态变化做出反应的机制。当检测到应用不健康时,Dapr会停止为该应用分配新任务。
阅读更多关于如何将应用健康检查应用于您的应用程序。
Dapr提供了一种通过HTTP /healthz
端点来确定其健康状况的方法。通过此端点,daprd进程或sidecar可以:
阅读更多关于如何将dapr健康检查应用于您的应用程序。