MQ在什么场景下使用?为什么要在系统中引入MQ呢?
现在有一个老师,上课讲课,讲完课后。会有很多同学下来问问题,那么肯定不是一窝蜂的上来问老师吧,同学们得排队问老师问题,但是每一个同学都要问5分钟,那后面的同学要等待啊,后面的同学就在哪里傻傻的等着不好吧,况且,一个接一个同学这样过来,对老师也不太友好啊,老师也得上厕所吃饭呀。老师扛不住了,太累了
那么这时候,老师说,同学们把问题都总结一下,按照姓名:xx,问题:xxx,手机号:xxx的格式写在一张纸上,都交给班长,别交给老师了,老师下来会一一解答。
那么这样的话,解决了同学和老师之间的耦合,而且老师有充分的时间吃饭上厕所,看电影,闲暇时间了再去班长那里取同学的问题,进行解答,解答后,通知手机号为xxxx的同学,说我给你解决完了,这样是数据异步吧,并且老师不再接收更多的同学去直接问老师问题,这样就是抵挡了很多同学的流量请求,老师可以有自己的娱乐,这也就是保证了老师自己的业务不受干扰(回家照顾孩子,做饭之类的),这也是流量削峰。
这个小段子放在服务之间也是相通的,服务和服务之间调用,也需要这个模型,这个模型就是消息中间件(MQ),解决了系统之间的耦合(老师和学生之间),异步模型,以及流量削峰。
其实还有很多例子,饭店的服务员就是消息中间价,小区的菜鸟驿站也是
MQ :
1、解耦
2、异步
3、流量削峰
在微服务中,系统之间直接调用会存在很多问题,链式调用,A服务调用B服务,B服务调用C服务,。。。一旦中间哪个不通或者网络分区了,那么所有服务就全都等着了,就GG了
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!