首页 > 其他 > 详细

消息中间件的研究 (一)

时间:2019-04-17 20:43:07      阅读:134      评论:0      收藏:0      [点我收藏+]
基础概念:
  1. 消息(Message):指应用间传送的数据,类似文本字符串、JSON、内嵌对象等
  2. 消息中间件(MQ):指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,可以在分布式环境下扩展进程间的通信。
 
消息中间件作用:
     消息中间件的主要应用于担任消息传递的中转站,类似生活中的邮递局,但消息中间件的功能特性更加丰富,比较熟悉的应用场景是应用间的解耦和高流量下的削峰,其主要作用如下:
  1.  解耦:消息中间件能够担任一个隐含的,基于数据的接口层的角色,在接口两端的系统遵守约束下,允许独立地扩展或修改两边的处理过程。
  2. 冗余:消息中间件可以把消息进行持久化直到消息已经被消费完成。有些情况下,利用这样特性,能够规避处理数据丢失的风险。
  3. 削峰:类似一些秒杀业务场景会出现访问量剧增的状况,但是这样的突发流量并不常见。如果以能处理这类峰值为标准而投入资源,无疑是巨大的浪费。使用消息中间件能够使关键组件支撑突发访问压力,不会因为突发的超负荷请求而完全崩溃。
  4. 可恢复性:消息中间件能够降低进程间的耦合度,当一个处理消息的进程挂掉时,加入消息中间件的消息仍然可以在系统恢复后进行处理【 消息中间件可以把消息进行持久化直到消息已经被消费完成】
  5. 缓冲:在任何重要的系统中,都会存在需要不同处理时间的元素。消息中间件通过一个缓冲层来帮助任务最高效率地执行,写入消息中间件的处理会尽可能的快速,有助于控制和优化数据流经系统的速度。
  6. 异步通信:对于不想也不需要立即处理的系统数据,消息中间件提供了异步处理机制,允许应用把一些消息放入消息中间件中,但并不立即处理它,例如系统日志处理。
  7. 扩展性:
  8. 顺序保证:
 
RabbitMQ的具体特点:
  1. 可靠性:RabbitMQ使用持久化、传输确认、发布确认等来保证可靠性。
  2. 灵活的路由:在消息进入队列之前,会通过交换器来路由消息。对于典型的路由功能,RabbitMQ已经提供一些内置的交换器来实现。针对更复杂的路由功能,可以将多个交换器绑定在一起,也可以通过插件机制来实现自己的交换器。
  3. 扩展性:
  4. 高可用性:
  5. 多种协议:RabbitMQ除了原生支持AMQP协议,还支持STOMP,MQTT等多种消息中间件协议
  6. 多语言客户端:
  7. 管理界面:
  8. 插件机制:

消息中间件的研究 (一)

原文:https://www.cnblogs.com/jj81/p/10725945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!