什么是MQ?
-
mq(message queue消息队列)
-
面向消息的中间件,我的理解就是代理中间商。
-
它可以流量削峰、异步处理、应用解耦等特性
- 什么是应用解耦?
此时:系统A调用系统B和C
新增需求:我们让系统A还用掉D
怎么办?只能够修改系统A的代码,让他去调用D
如果我们新增很多歌系统,而且让系统A调用系统D?
这就需要大量的修改系统A的代码,就会导致整个应用耦合度提高。
怎么办?MQ可以用来解决这个问题。
我么这样理解:系统A是发送者,系统B、C是消费者
发送者和接受者不必了解对方,只需要消息确认。
系统A发送消息给mq,让mq发消息给系统B,让系统B处理一下
- 什么是流量削峰?
当浏览器发送一条请求的时候,服务器立马给我们响应。
但是如果我们在某一时刻发送一百万条数据甚至一千万条数据的时候,服务器就跟我们人一样,立马就会累趴下。导致系统崩溃。怎么办?
我们的MQ会解决这个问题。
这里的mq就相当于一个流量缓存池。将请求发送到mq,让mq发送到服务器。
结合现实:就是让人们进行排队,从而达到流量削峰的手段
- 什么是异步处理?
在某一时刻,系统A和系统B调用系统C,系统跟我们人一样,它每次在一个时刻处理一个任务,如果先处理系统A的话,系统B就会等待。
如果系统C处理系统A需要10秒钟甚至更久的haughty,系统B就会一直等待
怎么办?
我们的MQ就会解决这个问题。
我们添加一个mq消息队列,系统A发送消息到mq就去执行其他的事情,把调用系统C的事情交给mq帮助我们发送消息,这不就让系统A不用干等吗?
O(∩_∩)O哈哈~真聪明
这就是异步处理:我去忙别的了,但是你需要帮我发送。
标签:调用,处理,系统,发送,理解,mq,MQ 来源: https://www.cnblogs.com/dragonyoung/p/15834847.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。