分布式应用架构学习与实践
1. 分布式应用架构基础
1.1 组件冗余
为避免系统中某个组件故障导致停机,系统的每个部分都需要具备冗余性,这涵盖应用组件和所有基础设施部分。例如,若应用中有支付服务,就需在集群的不同节点上运行多个该服务实例。边缘路由器或负载均衡器也是如此,它们必须冗余,以确保系统持续运行。
1.2 健康检查
在分布式应用架构中,单个组件故障很可能发生。负载均衡器负责将流量分配到服务的各个实例,但它如何判断某个服务实例是否可用呢?这时可使用健康检查机制。负载均衡器或其他系统服务会定期轮询所有服务实例,检查其健康状况。若组件响应为“否”或检查超时,系统会终止该实例并启动新实例。此外,也可让组件定期向负载均衡器发送存活信号,若在预定义的较长时间内未发送,则认为该组件不健康或已死亡。
1.3 熔断模式
熔断机制用于避免分布式应用因多个关键组件的级联故障而崩溃。当服务 B 无响应或出现故障时,熔断机制会中断服务 A 与服务 B 的连接,就像电气系统中的断路器保护房屋免受电器故障引发的火灾一样。实现方式是将受保护的服务调用包装在熔断对象中,该对象监控故障情况,当故障次数达到阈值时,熔断触发,后续调用将直接返回错误。
1.4 限流
限流是一种控制请求处理速率的技术。通过限制特定时间窗口内允许的请求数量,限流有助于防止系统过载,确保服务的稳定性和可用性。在熔断机制的背景下,结合限流可使系统有效维持最佳性能,优雅应对突发流量高峰。
1.5 隔离舱
隔离舱是一种弹性模式,用于隔离系统内的组件或资源,防止一个区域的故障引发整个系统
分布式应用架构核心技术与实践
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



