技术编程开源 VS 商业,消息中间件你不知道的那些事
新炬网络中间件技术专家刘拓老师在DBA+社群中间件用户组进行了一次主题为“开源 VS 商业 , 消息中间件你不知道的那些事”的线上分享 。 小编特别整理出其中精华内容 , 供大家学习交流 。
嘉宾简介
新炬网络中间件技术专家
曾任职于IBM华南GTS 4年 , IBM WebSphere、MQ、CICS产品线技术专家
5年移动运营商(广东移动、浙江移动)运维经验 , 3年JAVA开发及售后经验
演讲实录
随着云计算的兴起 , Docker、微服务的流行 , 分布式消息队列技术成为云计算平台中不可或缺的组件 。 今天由我来给大家分享下目前市场上主流的商业、开源消息中间件之间的区别 。
什么是消息中间件MOM(Message Oriented Middleware)利用高效可靠的消息传递机制进行平台无关的数据交流 , 并基于数据通信来进行分布式系统的集成 。 通过提供消息传递和消息排队模型 , 它可以在分布式环境下扩展进程间的通信异步:基于存储转发机制的异步通信方式 , 发送者将消息发送给消息服务器 , 消息服务器将消息存放在若干队列中 , 在合适的时候再将消息转发给接收者 。 松耦合:客户和服务对象的生命周期松耦合 , 由MOM来保障消息队列及服务 , 二者的生命周期无需相同 , 即发送消息的时候接收者不一定运行 , 接收消息的时候发送者也不一定运行 。 可靠性:由MOM来保障消息不会因网络连接异常断开、进程异常重启等各种原因导致消息丢失 。
消息传递模式分为PTP和Pub/Sub两种模式 。
PTP(Point–to-Point)
每条消息只有一个消费者 。
发送者和接收者没有时间依赖(no timing dependencies) 。
接受者成功接收答复机制 。
Pub/Sub(Publish/Subscribe)
每条消息可以有多个订阅者 。
发送者和接受者之间必须同步 , 客户端只有订阅后才能收到消息 。
消息中间件有着异步通知、数据复制、日志同步、延迟队列、广播通知五大适用业务场景 。
异步通知:为面向服务架构(SOA)提供分布式事务支持;保证全局数据一致性 。 比如订单处理调度通知 , 订单拆解后发送开通、计费、账处等到期提醒 , 办理告知短信 , 订单状态 , 二次确认等 。
数据复制:利用消息中间件将数据从源头复制到多个目的地;满足搜索、离线分析和分表规则变化等需求 。 如系统间TF数据同步多系统 , 局数据增量发布等 。
日志同步:应用通过可靠异步方式将日志同步到消息中间件;可以对日志做实时或离线分析 。 如统一日志平台中心日志入库等 。
延迟队列:把消息中间件当做可靠的延迟队列;分布式环境下的定时器 。 如受理订单入库 , 系统日志入库等高频率DB写入场景 。
广播通知:可靠的集群内广播通知;用于通知缓存失效等事件 。 如产品缓存刷新等 。
消息协议JMS VS AMQP
JMS提供了两种消息模型 , peer-2-peer(点对点)以及publish-subscribe(发布订阅)模型 。 在JMS中 , 消息路由非常简单 , 由producer和consumer链接到同一个queue(p2p)或者topic(pub/sub)来实现消息的路由 。 JMSconsumer同时支持message selector(消息选择器 , 通过消息选择器 , consumer可以只消费那些通过了selector筛选的消息 。
AMQP是一种协议 , 更准确的说是一种binary wire-level protocol(链接协议) 。 这是其和JMS的本质差别 。 AMQP不从API层进行限定 , 而是直接定义网络交换的数据格式 。 这使得实现了AMQP的provider天然性就是跨平台的 。
在AMQP中 , 消息路由(messagerouting)和JMS存在一些差别 , 在AMQP中增加了Exchange和binding的角色 。 producer将消息发送给Exchange , binding决定Exchange的消息应该发送到那个queue , 而consumer直接从queue中消费消息 。 queue和exchang的bind有consumer来决定 。
- 更名为广东职业技术师范学院天河学院
- 36氪利用无人驾驶技术切入水域智慧环卫与维护,“欧卡智能”获千万元级融资
- 上游新闻|精度达到2-3米,北斗系统发言人:中国北斗攻克160余项关键技术
- IT之家|三星Galaxy Note 20将搭载UWP技术 传文件比NFC更快
- 央视新闻客户端|北斗系统工程新技术应用超过70%
- 问董秘|提供设备和技术的正是克劳...,投资者提问:中石油系统已经大量加入做聚丙烯熔喷料
- 我国|我国封锁“世界唯一专利”,日本出3000亿要买,美国要求技术共享
- 检测|辽宁派16支核酸检测医疗队驰援大连,研发10合1混采技术
- 北斗办:北斗与5G融合将推动无人驾驶等技术发展
- 北斗系统工程新技术应用超过70%