服务间的通信机制
微服务架构是一种架构模式,它提倡将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
微服务架构的本质是分布式系统,随着系统复杂度的增加以及微服务数量的增多,如何选择轻量级通信机制、完成服务和服务之间的写作和交互越发重要。
下面是对几种服务间通信机制的比较:
远程方法调用 | REST | HAL | 消息队列 | 后台任务系统 | |
---|---|---|---|---|---|
通信方式 | 同步通信 | 同步或异步通信 | 同步或异步通信 | 异步通信 | 异步通信 |
平台依赖性 | 强 | 平台无关 | 平台无关 | 强 | 弱 |
语言支持 | 好 | 语言无关 | 语言无关 | 好 | 中 |
学习成本 | 高 | 低 | 低 | 高 | 低 |
维护成本 | 高 | 低 | 低 | 高 | 低 |