消息队列
文章平均质量分 61
敬一个遥远的她
这个作者很懒,什么都没留下…
展开
-
AMQP
当前各种应用大量使用异步消息模型,并随之产生众多消息中间件产品及协议,标准的不一致使应用与中间件之间的耦合限制产品的选择,并增加维护成本。AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。 当然这种降低耦合的机制是基于与上层产品,语言无关的协议。AMQP协议是一种二进制协议,提...转载 2018-07-19 22:36:32 · 369 阅读 · 0 评论 -
图文讲解AMQP
最近突然发现自己对消息队列一无所知,所以想一谈究竟,市场上轻量级的消息队列非常多,那么如何做到统一提供服务,屏蔽其中的实现的呢,他们都遵循高级消息队列协议(AMQP)协议,查阅了一些资料,自己总结了一下,画个图然后讲解一些流程,如果其中有我个人理解错误的地方,麻烦各位指出,万分感谢。主要分为几个流程:1.生产者发送消息到MQSERVER2.根据消息绑定exchange,然后根据rout...原创 2018-07-21 15:04:28 · 673 阅读 · 0 评论 -
何时该用 RabbitMQ,何时该用 Apache Kafka?
转载自:https://www.sohu.com/a/145359159_747818人们是如何做决定的呢?日常生活中,每当人们做出复杂或重大决定时,情绪往往起到最终的决定作用。但对于决策专家来说,他们的每一个决定都具有长远影响,因此做决定不能只靠冲动了。通常,高效率的执行者只会在他们凭借自发的专业思维掌握决策所需的所有信息之后,才靠本能、直觉或情绪做出决策。如今,市场上有几十种消息传...翻译 2018-07-21 15:29:12 · 329 阅读 · 0 评论 -
简书最完整的RabbitMQ入门教程
https://www.jianshu.com/p/79ca08116d57感谢大佬的分享原创 2018-07-21 18:46:42 · 22418 阅读 · 0 评论 -
RabbitMQ基础入门(一)
RabbitMQ是一款优秀的消息队列中间件,它广泛应用于企业级应用中,可以帮助应用解耦,面对一些业务场景起到一个很强的分流作用等等。为什么挑选RabbitMQ进行学习呢,主要是因为它支持大多数协议,支持AMQP协议,而且官方文档相当全面,今天面向官方文档进行一个基础入门。题主使用的语言是JAVA。RabbitMQ是基于Erlang语言进行编写的,所以如果想要使用RabbitMQ,首先需要安装E...原创 2018-07-22 21:20:35 · 505 阅读 · 0 评论 -
RabbitMQ中几种Exchange的对比
原来来自:https://www.cnblogs.com/hz04022016/p/6519445.htmlRabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储RabbitMQ提供了四种Exchange:fanout,direct,topic,header。但常用的主要是fanout,direct,topic。性...转载 2018-07-22 22:47:13 · 1774 阅读 · 0 评论 -
消息队列如何做到消息必达
一、缘起上周讨论了两期环形队列的业务应用:《高效定时任务的触发》《延迟消息的快速实现》 两期的均有大量读者提问:任务、延迟消息都放在内存里,万一重启了怎么办?能否保证消息必达? 今天就简单聊聊消息队列(MsgQueue)的消息必达性架构与流程。 二、架构方向MQ要想尽量消息必达,架构上有两个核心设计点:(1)消息落地(2)消息超时、重传、确认...转载 2018-08-02 20:31:00 · 1076 阅读 · 0 评论 -
消息队列如何做到消息幂等性
一、缘起如《消息总线消息必达》所述,MQ消息必达,架构上有两个核心设计点:(1)消息落地(2)消息超时、重传、确认 再次回顾消息总线核心架构,它由发送端、服务端、固化存储、接收端四大部分组成。 为保证消息的可达性,超时、重传、确认机制可能导致消息总线、或者业务方收到重复的消息,从而对业务产生影响。 举个栗子:购买会员卡,上游支付系统负责给用户扣款,下游系...转载 2018-08-02 20:32:07 · 16351 阅读 · 0 评论 -
利用消息队列实现最终一致性
本文转自:http://skaka.me/blog/2016/04/21/springcloud1/不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三阶段提交协议来完成分布式事务.但是使用这种方式一般来说性能较差, 因为事务管理器需要在多个...转载 2018-09-11 10:19:29 · 6491 阅读 · 0 评论