1、入门概述
1、1 什么是消息中间件?
消息中间件事利用高效可靠的消息传递机制进行异步的数据传输,并基于数据通信进行分布式系统的集成。通过提供消息队列模型和消息传递机制,可以在分布式的环境下扩展进程间的通信。
1、2 为什么要在系统中引入消息中间件?
解耦、削峰、异步
链式调用是我们在写程序的时候的一般流程,为了完成应整体的功能,会将其拆分成多个函数(或子模块),比如模块A调用模块B,模块B调用模块C,模块C调用模块D,但是在大型分布式应用中,系统间的RPC交互频繁,一个功能背后要调用上百个接口并非不可能,这种架构有一下几个劣势:
- 1、这些接口之间的耦合比较严重,每系增一个下游的功能,都要上游的所有相关接口进行改造,举个例子:假如系统A要发送数据给系统B和C,发送给每个系统的数据可能有差异,因此系统A对要发送给每个系统的数据进行了组装,然后逐一发送;当代码上线后,新增了一个需求:把数据也发送给D。此时就需要修改A系统,让他感知到D的存在,同时把数据处理好给D。在这个过程中你会看到,每接入一个下游系统,都要对A系统进行代码改造,开发联调的效率很低。其整体架构如下图: