微服务基础、设计模式与 CI/CD 原则
1. 微服务设计模式
在微服务架构中,有几种重要的设计模式,它们有助于构建高效、稳定和可扩展的系统。
1.1 客户端服务发现
当消费者服务需要从另一个服务请求数据时,它会使用提供者服务的友好名称向服务注册表发出调用。服务注册表提供可用服务的当前地址,然后消费者服务对服务注册表提供的动态地址进行客户端负载均衡调用。提供者服务处理请求并返回适当的响应。每当新的服务实例启动或停止时,它会更新服务注册表,确保服务注册表了解服务的当前地址。
graph LR
A[消费者服务] --> B[服务注册表]
B --> C[提供者服务]
C --> A
D[新服务实例] --> B
1.2 断路器模式
断路器模式的名称来源于电气开关,它在服务交互中提供类似的功能,有助于防止服务故障的级联效应。当断路器模式检测到服务调用出现一定数量的故障时,它会自动跳闸,停止向服务发送新请求。在回退方法中,可以选择快速失败并让用户了解问题,或者从替代系统加载数据。超时后,断路器允许有限数量的测试请求通过,如果服务不再出现错误,将恢复正常操作;否则,超时周期将重新开始。
例如,在酒店房间预订应用中,如果酒店信息服务正在维护或容量较低,预订调用可能无法获取酒店信息并开始失败。此时,通过断路器模式,可以从缓存等替代源获取酒店数据,避免对酒店服务造成额外负载,让酒店服务有机会恢复正常。
超级会员免费看
订阅专栏 解锁全文
1337

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



