
23-消息中间件
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题
ActiveMQ,RabbitMQ,RocketMQ,Kafka
夜未眠shm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RabbitMQ(七)发布者确认机制--confirm
1.概述 发布者确认是实现可靠发布的RabbitMQ扩展。在通道上启用发布者确认后,代理将异步确认客户端发布的消息,这意味着它们已在服务器端处理。 发布者确认是AMQP 0.9.1协议的RabbitMQ扩展,因此默认情况下未启用它们。 1.1 confirm模式的实现原理: 生产者将信道设置成confirm模式,一旦信道进入confirm模式,所有在该信道上面发布的消息都会被指派要给唯一...原创 2020-05-02 17:13:56 · 671 阅读 · 0 评论 -
RabbitMQ(七)发布者确认机制--事务
1.概述 在rabbitmq中,我们可以通过持久化数据解决rabbitmq服务器异常的数据丢失问题。 生产者将消息发送出去后,消息到底有没有到达rabbitmq服务器,默认情况是不知道的。 这就涉及到了发布者的两种确认方式: AMQP实现的事务机制 Confirm模式 2.事务机制 channel.txSelect() //用户将当前channel是设置成transaction模式 ...原创 2020-05-02 15:53:29 · 246 阅读 · 0 评论 -
RabbitMQ(六)Topics 主题
1.概述 1.1 话题交流 发送到topic 交换的消息不能具有任意的 routing_key它必须是单词列表,以点分隔。这些词可以是任何东西,但通常它们指定与消息相关的某些功能。一些有效的路由关键示例:“ stock.usd.nyse ”,“ nyse.vmw ”,“ quick.orange.rabbit ”。路由密钥中可以包含任意多个单词,最多255个字节。 绑定密钥还必须采用...原创 2020-05-01 15:19:57 · 170 阅读 · 0 评论 -
RabbitMQ(五)Routing 路由
1.概述 1.1 消费者绑定 在前面的示例中,我们已经在创建绑定。您可能会想起以下代码: channel.queueBind(queueName,EXCHANGE_NAME,""); 绑定是交换和队列之间的关系。可以简单地理解为:队列对来自此交换的消息感兴趣。 绑定可以使用额外的routingKey参数。为了避免与basic_publish参数混淆,我们将其称为绑定键。这是我们如何使...原创 2020-05-01 14:07:14 · 279 阅读 · 0 评论 -
RabbitMQ(四)Publish/Subscribe 发布/订阅
1. 发布/订阅 在RabbitMQ(三)中创建了一个工作队列。工作队列背后的假设是,每个任务恰好交付给一个工人。在这一部分中,我们将做一些完全不同的事情-我们将消息传达给多个消费者。这种模式称为“发布/订阅”。 2.代码示例 2.1 发送者 /** * 消息发送者 */ public class Sender { private final static String...原创 2020-04-26 18:50:01 · 214 阅读 · 0 评论 -
RabbitMQ(三)Work Queues 工作队列
1.Work Queues(工作队列) 工作队列(又名:任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反,我们安排任务在以后完成。我们将任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当您运行许多工作人员时,任务将在他们之间共享。 这个概念在Web应用程序中特别有用,因为在Web应用程序中,不可能在较短的HTTP请求窗口内处理复杂的任务...原创 2020-04-26 17:28:09 · 293 阅读 · 0 评论 -
RabbitMQ(二)简单队列 Hello World!
1.介绍 RabbitMQ是消息代理:它接受并转发消息。您可以将其视为邮局:将要发布的邮件放在邮箱中时,可以确保Mailperson先生或女士最终将邮件传递给收件人。以此类推,RabbitMQ是一个邮箱,一个邮局和一个邮递员。 RabbitMQ与邮局之间的主要区别在于,它不处理纸张,而是接收,存储和转发数据消息的二进制斑点。 RabbitMQ和消息传递通常使用一些术语。 生产仅意味着发...原创 2020-04-26 16:07:19 · 166 阅读 · 0 评论 -
RabbitMQ(一)安装详细
1.概述 1.1 RabbitMQ RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。支持消息的持久化、事务、拥塞控制、负载均衡等特性,使得RabbitMQ拥有更加广泛的应用场景。 1.2 Erlang ...原创 2020-04-25 01:37:22 · 238 阅读 · 0 评论