服务异步通信技术MQ基础
同步通讯
好处:同时在线,实时处理,立即得到结果。
微服务间基于Feign的调用就是同步方式,存在问题。例如支付服务调用订单服务和仓储服务、短信服务是实时的,一次只能调用一个服务,导致延时增加,吞吐量下降。
同步调用的问题:
耦合度高,每次加入新需求,都要修改以前的代码
性能下降,调用者需要等待的时间是每次调用的时间之和
资源浪费,调用链中每个服务在等待相应的过程中,不断释放请求占用的资源,高并发情况下会极度浪费系统资源。
级联失败,服务提供者出现问题时候,所有调用方都会出问题,会导致微服务集群故障。
异步通讯
异步调用常见的实现是事件驱动模式。
引入事件代理者Broker
异步通讯的优点:
1.耦合度低
2.吞吐量提升
3.故障隔离
4.流量削峰
异步通讯的缺点:
1.依赖broker的可靠性安全性和吞吐能力
2.架构复杂,业务没有明显的流程线,不好追踪管理
异步通讯的一种实践MQ及其框架
MQ message queue 消息队列,存放消息的队列也就是broker
RabbitMQ 公司 Rabbit Erlang语言
ActiveMQ 公司Apache Java
RocketMQ 公司阿里 Java 自定义协议
Kafka 公司Apache Java和Scala 自定义协议


浙公网安备 33010602011771号