响应式微服务:提升容量与性能
1. 微服务与消息驱动应用
在开发应用程序时,可将其部分拆分为独立的微服务。例如,向移动平台发送推送通知的通知服务无需了解客户关系管理(CRM)、会计系统,甚至用户信息。这是可以实现的,通过编写使用通用协议并通过消息传递与其他服务交互的微服务,即消息驱动应用。
1.1 传统微服务与消息驱动应用对比
| 类型 | 特点 | 优缺点 |
|---|---|---|
| 传统微服务 | 具有即时返回结果的 API,应用中的每个参与者都需了解其他部分 | 关系紧密,难以维护、更新和扩展 |
| 消息驱动应用 | 通过消息进行交互,消息由其他微服务处理 | 降低微服务耦合度,可同时处理多服务消息或添加额外消息处理 |
1.2 消息队列与消息代理服务
为实现完全解耦的微服务,可使用消息队列或消息代理服务。消息代理可将所有消息发送到一个中心点,由其路由并将消息传递给所需的微服务。多数情况下,这是一种很好的方法,有助于解耦微服务并实现无缝更新,但在某些情况下可能成为瓶颈,因为所有负载都集中在消息代理这一单一应用上。
使用消息代理只需支持 AMQP 协议,流行的消息代理都与此协议兼容。 lapin-futures cra
超级会员免费看
订阅专栏 解锁全文
1957

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



