消息中间件-notify的概念和原理

消息中间件-notify的概念和原理

ID:5271792

大小:1.43 MB

页数:29页

时间:2017-12-07

消息中间件-notify的概念和原理_第1页
消息中间件-notify的概念和原理_第2页
消息中间件-notify的概念和原理_第3页
消息中间件-notify的概念和原理_第4页
消息中间件-notify的概念和原理_第5页
资源描述:

《消息中间件-notify的概念和原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、淘宝消息中间件简介淘宝-Java中间件Agenda•消息中间件概览•淘宝消息中间件简介•总结淘宝中间件产品线业务代码前端Webx应用容器TaobaoConfigServer/HSFMQDiamond后端业务代码应用容器TDDLTDDLDBDB消息中间件•Message-orientedmiddleware(MOM)issoftwareinfrastructurefocusedonsendingandreceivingmessagesbetweendistributedsystems.---fromwik

2、ipedia.org•MOM的特点–松散耦合•发送者和接收者不必了解对方,只需要讣识消息•发送者和接收者不必同时在线–异步处理消息中间件–应用程序或组件之间的一种通讯方式•可靠性•异步•松散耦合MessagingModels•Point-to-Point(PTP)–每个消息只有一个消费者–发送者和接收者没有时间依赖–接收者确讣消息处理成功Msg发送消费Client1MsgQueueClient2确讣MessagingModels•Publish/Subscribe–每个消息可以有多个订阅者–客户端只有订

3、阅后才能收到消息–持久订阅–非持久订阅订阅投递Client2发布确讣Client1MsgTopicMsg订阅投递Client3确讣Publish/Subscribe•发布者和订阅者有时间上的依赖。–客户端只有建立了订阅关系后,才能收到消息•非持久订阅–订阅者为了接收消息,必须一直在线•持久订阅–订阅关系建立后,消息就不会丢失,不管订阅者是否在线–当只有一个订阅者时,≈PTP非持久订阅持久订阅Taobao消息中间件•具有互联网特征的消息中间件–消息发送和业务操作的一致性–订阅者集群–扩展性–可靠性–稳定性

4、–高性能消息发送和业务操作的一致性•通用的MQ产品支持XA分布式事务–优点•跨越多个资源ACID的保证•编程模型简单一致–缺点•性能和可用性都不高•故障难于恢复消息发送和业务操作的一致性本地事务域T3业务操作Publisher业务操作T1T4S1发提定期送交/检查S2提交/回滚half回未提消滚交的息消息T2存储half消息BrokerStorageS3提交:更新数据库标识消息可发送T5提交:更新数据库标回滚:删除消息识消息可发送回滚:删除消息本地事务域消息发送和业务操作的一致性•业务操作和消息存储都在

5、本地事务域进行,不存在跨资源的事务。•提交/回滚消息有可能失败,系统会处于短暂的不一致状态•Broker会主动发送Check消息,确认消息是否提交或回滚•最终一致•将分布式事务分解在两个本地事务中•客户端需要付出的代价–实现CheckMessageListener接口订阅者集群•订阅者集群:消息的一个逻辑上的订阅者是有多个物理节点组成的一个集群SubscriberAA1A2PublisherMOMSubscriberBB1B2•A1和A2是SystemA中的两个机器•A1和A2共同来消费投递到Syste

6、mA的消息•B1和B2也是类似的关系扩展性•Broker--Sharednothingarchitecture•发布者、订阅者都支持集群PublisherSubscriberBrokerPublisherSubscriberBrokerPublisherSubscriber集群集群集群扩展性•支持存储节点的动态变化BrokerStoreStoreStoreStore可靠性•服务质量(QOS)级别–Exactly-once•投递一次且仅一次–At-least-once•最少会投递一次,有可能会重复投递–A

7、t-most-once•最多投递一次,有可能丢失•不能丢消息可靠性•消息的投递分为两个阶段–发布者向Broker发送消息–Broker向订阅者投递消息•因此,消息有可能在三个地方丢失–发布者到Broker之间–Broker本身–从Broker到订阅者可靠性•Publisher->Broker–Broker收到消息,放入存储节点中,才会返回“成功”给Publisher•存储的可靠性–没有绝对的可靠,需要定义级别•File•Oracle+小型机+存储•Mysql•Mysql+Replication•同步写入

8、两个节点•Broker->Subscriber–Subscriber处理消息结束后回应处理结果稳定性•监视–Broker内存使用–消息收发功能–消息堆积情况–存储的插入速度–各个任务队列长度–其他各项即时统计数据等•控制–自劢移除失效存储节点–优雅降级的控制–添加新存储节点–添加新Broker高性能•KISS–采用能够满足需求的尽量简单的方案来实现–例如:基于消息属性的过滤的实现•SEDA–Broker的内部处理流水线化,分为多个阶段来进行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。