标签:01 -- JMS 可用性 系统 RabbitMQ MQ 消息
MQ全程Message Queue,是在消息传输过程中保存消息的容器,多用于分布式系统之间进行通信。
1、MQ的优势:
1.应用解耦:系统耦合度越高,容错性就越低,可用性就越低。使用MQ将系统进行隔离,可以提高系统的容错性。
2.异步提速:在用户进行操作后,将信息发送到MQ后就返回。后续的业务流程通过MQ异步进行处理。可以提高用户体验和系统吞吐量。
3.削峰填谷:当大量消息集中进入系统时,可以用MQ将信息暂存起来,系统从MQ中取出积压消息有序处理,避免系统崩溃。
2、MQ的劣势:
1.系统可用性降低:系统引入的外部依赖越多,系统稳定性越差。一旦MQ宕机,就会对业务造成影响,需要提高MQ的可用性。
2.系统复杂度提高:需要额外考虑消息是否被重复消费(幂等性问题),消息丢失,消息的顺序等问题。
3.一致性问题:如果A系统通过MQ向多个系统其他系统发送消息,有的系统正常接受,有的系统没有接受,造成数据不一致。
3、使用MQ需要满足的条件:
1.生产者不需要从消费者处获得反馈。
2.允许短暂的不一致性。
3.收益大于成本。
4、常见的MQ产品:
5、RabbitMQ简介
RabbitMQ使用Erlang语言开发,采用AMQP(高级消息队列)协议,AMQP是一个应用层协议。
RabbitMQ的6种工作模式:
1.简单模式
2.工作队列(work queue)
3.发布于订阅(Publish/Subscribe)
4.路由模式(Routing)
5.主题模式(Topics)
6.RPC远程过程调用
6、JMS介绍
JMS即Java消息服务(JavaMessage Service)应用程序接口,是一个Java平台中关于面向消息中间件的API。
JMS是JavaEE的一种规范。RabbitMQ本身没有实现JMS,但在开源社区有实现。
标签:01,--,JMS,可用性,系统,RabbitMQ,MQ,消息 来源: https://www.cnblogs.com/asenyang/p/15497437.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。