常见面试题:你不会说,就说明你对其不够理解!所以底子很重要!
1、在何种场景下使用了消息中间件?
2、为什么要在系统里引入消息中间件?
3、引入了消息中间件有哪些好处?又有哪些坏处?你是如何避免的!
生活中的例子
MQ 能干嘛?
解耦
消峰
异步
为什么要引入MQ,问题的产生背景
系统之间直接调用在实际工程中存在的问题?
微服务架构后,链式调用是我们在写程序的时候的一般流程,为了完成一个整体功能会将其拆分成多个
函数(或子模块),比如模块A调用模块B,模块B调用模块C,模块C调用模块D,但在大型分布式应用
中,系统间的RPC交互繁杂,一个功能背后要调用上百个接口并非不可能,从单机架构过渡到分布式微
服务架构的通例,这种架构会有哪些问题?
1、系统之间接口耦合比较严重
每新增一个下游功能,都要对上游的相关接口进行改造。比如 系统A 要发送数据给系统B 和 C,发送给
每个系统的数据可能有差异,因此系统A对要发送给每个系统的数据进行了组装,然后逐一发送;、
当代码上线后又新增了一个需求:
把数据也发给D,新上了一个D系统也要接受A系统的数据。此时就需要修改A系统,让他感知到D的存
在。同时把数据处理好再给D。这个过程中你会看到,每接入一个下游系统,都要对A系统进行代码改
造,开发联调的效率很低。
评论