服务异步通信技术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     自定义协议

 

posted @ 2021-11-09 11:09  zuiAI0658  阅读(138)  评论(0)    收藏  举报