微服务部署与开发的关键要点解析
1. 不变量与服务健康
在微服务系统中,消息流比率是一种不变量,无论系统的负载水平或服务数量如何,这些比率都保持不变。不变量是衡量系统健康状况的主要指标。当使用金丝雀模式部署微服务的新版本时,需要检查不变量是否在预期范围内。如果新版本存在缺陷,消息流比率会发生变化,因为某些消息将无法生成,这是服务失败的直接指示。
2. 微服务部署模式
- 版本更新模式
- 该模式可安全更新一组相互通信的微服务。假设微服务 A 和 B 使用 x 类型的消息进行通信,新的业务需求要求在它们之间使用 y 类型的消息。同时更新两个服务是不明智的,最好使用渐进金丝雀部署模式进行安全更改。
- 操作步骤:
- 首先更新监听服务 B,使其能够识别新消息 y。此时生产环境中没有其他服务生成此消息,但可以验证新版本的 B 不会造成损害。
- 新的 B 就位后,更新发送 y 消息的服务 A。
- 这种多阶段更新适用于许多需要更改消息交互的场景,如消息内部数据更改,或在两个现有服务之间插入第三个服务(如引入缓存)。
- 混沌模式
- 为确保系统具有抗故障能力,可以在生产环境中持续以低速率故意使服务失败。服务之间可能会形成脆弱的依赖关系,即使单个依赖的失败率低于可接受阈值,累积效应也可能导致客户端服务出现阈值故障。
- 操作步骤:
超级会员免费看
订阅专栏 解锁全文

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



