消息队列

第一要有志,第二要有识,第三要有恒。

什么是消息?

消息就是两个独立系统间传递的数据,这两个系统可以是两台计算机,也可以是两个进程。 往小了说,消息可以是一个简单的字符串;往大了说,消息也能是被持久化操作了的各种文件。

什么是消息队列?

队列就是消息传输过程中的一个通道,是保存消息的容器。

队列秉承着先进先出的原则

 

为什么要使用队列 ?

使用队列的优点很多,如果把百度文库上的资料照搬来,我也颇觉头痛,难以理解。通俗点约四点:

1,提示消息传递的速度   

如果系统没有基于消息队列来传递消息,那么它的运行速度就取决于系统中最慢的组件的速度 (就像团队中的短板效应)

而如果使用了队列,它会把系统中各个组件解耦,这样单一组件就不会受其他组件的影响,各组件可以异步运行,从而提升运行速度。

2,异步处理

很多时候你并不想立马处理消息,消息队列提供了异步处理机制,你可以把消息存在队列里,放那,想处理的时候在处理。

3,在高并发场景下平滑短时间内的大量服务请求

在高并发环境下 数据的访问量也许回达到一个很高的水平,如果你将最大服务请求作为标准来分配资源,这是极大的浪费,

这时候,使用消息队列能够使关键组件顶住增长的访问压力,而不是因为超出负荷的请求而完全崩溃。

4,安全

因为消息队列提供了冗余机制消息能被实际的处理,当你想从队列里删除消息时,需要你的处理过程明确的指出该消息已经被处理完毕,确保你的数据被安全的保存直到你使用完毕。

而且消息队列是排序的,能保证数据会按照特定的顺序来处理。

消息队列降低了进程间的耦合度,即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。

 

posted @ 2017-11-24 17:33  养得胸中一种恬静  阅读(111)  评论(0编辑  收藏  举报