美文网首页
消息队列概述

消息队列概述

作者: 编程人生 | 来源:发表于2021-10-22 23:20 被阅读0次

    消息队列的前世:

    世界上第一个现代消息队列软件:Teknekron 的 The Information Bus(TIB) 由孟买的26岁工程师 发明.1994年由大型的

    新闻机构路透社收购.

    1993年左右IBM MQ在英国温切斯特诞生.

    1997年 微软的消息队列(MSMQ)

    2001年 Java Message Service (JMS)诞生 JMS试图通过提供公共的Java API的方式,隐藏单独的MQ产品供应商提供的实际接口,从而跨越了壁垒和解决了互通问题.从技术上讲 ,Java 应用只需提供针对JMS API编程,选择合适的MQ驱动即可.

    消息队列改变了我们的系统

       在没有引入消息队列前,我们在A系统中调用B系统接口,是时实并且耦合的。消息队列可以让两个系统的耦合关系变为松耦合,同步请求变成异步请求,可以缓解系统的压力。如下图:

    图一

           当有多个系统相互交互时, 我们可以用消息队列作为中间平台,转发源系统的请求到目标系统。

    Message消息系统结构如下图:

    图二

    伟大的AMQP救世主

    2004年 , JPMorgam Chase 开发 Advaced Message Queuing Protocol (AMQP ,高级消息队列协议).AMQP一开始就设计成为开放标准,以解决众多的消息队列需求和拓扑结构问题.

    MQ消息中间件的特性:

    1.系统的稳定性和健壮性Stability &Robustness 

    长期稳定运行

    高并发下运行

    2.消息的可靠性Reliability

    发送的可靠性

    接受的可靠性

    事务性

    本地事务

    分布式事务

    性能Performance

    Broker性能

    基于队列内存

    基于内存+异步/同步持久化到磁盘

    基于内存+顺序/随机读写磁盘

    基于内存+持久化到关系数据库

    Client性能

    异步/同步发送,接受

    确认机制

    事务性会话

    消息挤压

    高可用性能

    Cluster&Sharding

    负载均衡LoadBalance

    主从Master-Slave

    分片Partition

    Faillover 失效转移

    手动

    自动

    Replication 复制

    同步复制

    异步复制

    扩展性Scalability

    支持多种协议和规范

    支持多种接入和传输方式

    支持自定义消息策略

    支持自定义插件机制

    可管理性Manageability

    Broker和Queue的管理

    Client和Connection管理

    Cluster和Sharding管理

    JMX或REST方式的管理API接口


    相关文章

      网友评论

          本文标题:消息队列概述

          本文链接:https://www.haomeiwen.com/subject/fnnhaltx.html