zoukankan      html  css  js  c++  java
  • 消息中间件介绍


    一、消息中间件定义:

      采用消息传送机制/消息队列的技术,实现数据之间的交流。主要应用分布式跨系统之间的集成,比如电商场景:用户下单减库存,调用物流系统,尤其对于模块微服务化,业务的拆分和系统的扩充,涉及到系统之间交互,一般用Restful和RPC实现服务之间的调用,但如果高并发场景下,为实现高吞吐量和系统之间松耦合,消息中间件就时候担起了重要角色。


    二、消息中间件应用场景:

    • 异步处理:用户注册(t1ms),还需发邮件(t2ms)和短信(t3ms),如果是串行,那么共耗时t1+t2+t3;如果是并行,发邮件+短信同时进行,耗时< t1+t2+t3;如果采用消息中间件,发邮件+短信时间大大缩短,耗时<<< t1+t2+t3。
    • 应用解耦:如上面所述电商订单系统-->库存系统【强耦合】,采用消息中间件后,订单系统-->消息中间件-->库存系统【松耦合】。
    • 流量削峰:用户请求-->服务应用,用户请求-->消息中间件-->服务应用,可以实现降级处理,从而给服务减少请求交互压力。
    • 日志处理:kafka设计的初衷专注于日志处理,因此对于日志的收集或流式处理,有很强的性能。
    • 消息之间通信:智能家居场景下,手机app端、云端服务、家居设备,请求模式:手机app通过restful请求到云端,云端通过消息中间件下发控制指令到家居设备,同样,家居设备语音指令通过restful请求到云端服务,云端通过消息中间件同步消息到手机app端展示。

     


    三、消息中间件发展史:

      TIB---->IBM MQ---->WebSphereMQ---->MSMQ ---->JMS---->AMQP


     四、消息中间件比较

      常用的主流消息中间件ActiveMQ、RabbitMQ、RocketMQ、Kafka

                

    如果想了解更多详细比较信息,个人推荐 几种常见的消息中间件对比

  • 相关阅读:
    nginx源码分析——http模块
    linux 信号处理
    文件读写监控(inotify, systemtap)
    rem
    vscode 将本地项目上传到码云
    vue 模拟去哪网
    form 文件上传
    分页
    修改默认select样式
    模拟select下拉框、复选框效果
  • 原文地址:https://www.cnblogs.com/light-sunset/p/12670660.html
Copyright © 2011-2022 走看看