云计算架构-设计模式

消息传递

Preview

云应用程序的分布性要求消息基础结构在理想情况下能以松散耦合的方式连接组件和服务,从而将可伸缩性最大化。 异步消息受到广泛使用并提供了诸多好处,但也带来了许多挑战,如消息排序、有害消息管理和幂等性等。

模式总结
异步请求-答复在后端处理需要是异步处理但前端仍需要明确响应的情况下,将后端处理与前端主机分离。
声明检查将大型消息拆分成声明检查和有效负载,以免消息总线过载。
协调让每个系统组件都参与有关业务事务工作流的决策过程,而不是只依赖于控制中心点。
竞争性使用者使多个并发使用者能够处理同一消息通道上收到的消息。
管道和筛选器将一个执行复杂处理的任务分解为一系列可重复使用的单个元素。
优先级队列为发送到服务的请求确定优先级,以便高优先级请求能够得到比低优先级请求更快速地接收和处理。
Publisher-Subscriber使应用程序能够以异步方式向多个感兴趣的使用者公布事件,而无需将发送方与接收方耦合。
基于队列的负载调控使用队列在任务与所调用的服务之间充当缓冲,从而缓解间歇性负载过大现象。
一系列事件在分布式事务方案中跨微服务管理数据一致性。 Saga 是一系列事务,用于更新每项服务并发布消息或事件来触发下一个事务步骤。
计划程序代理监督程序跨一组分布式服务和其他远程资源协调一组操作。
顺序保护按定义的顺序处理一组相关的消息,不需阻止对其他消息组的处理。