application.properties文件配置: #服务端口,8080被另一服务占用server.port=9090spring.activemq.broker-url=tcp://127.0.0.1:61616# 在考虑结束之前等待的时间#spring.activemq.close-time ...
分类:
编程语言 时间:
2019-01-28 12:11:51
阅读次数:
441
事务消息主要用在发送方 因为发送方 发出消息后,不能确定broker一定收到了 所以在connection上加上事务属性, 发送方感知到发送失败,可以做其他处理(比如先在数据库记上一笔,后面补发此消息) ...
分类:
其他好文 时间:
2019-01-28 00:51:53
阅读次数:
177
我们知道无论是生产者还是消费者,都需要和 RabbitMQ Broker 建立连接,这个连接就是一条 TCP 连接,也就是 Connection。 一旦 TCP 连接建立起来,客户端紧接着可以创建一个 AMQP 信道(Channel),每个信道都会被指派一个唯一的 ID。 信道是建立在 Connec ...
分类:
其他好文 时间:
2019-01-27 19:26:01
阅读次数:
772
对于一个生产者来说,在进行sendmessage的时候,需要知道这个topic应该发给哪个broker。如果没有路由信息的话,需要取注册中心,通过GET_ROUTEINTO_BY_TOPIC去注册中心拿到消息。 介绍下面具体流程之前,还是先介绍注册额中心里面路由管理者RouteInfoManager ...
分类:
其他好文 时间:
2019-01-27 19:20:19
阅读次数:
229
生产者发送消息 1、生产者连接到 RabbitMQ Broker,建立一个连接(Connection),开启一个信道(Channel) 2、生产者声明一个交换器,并设置相关属性,比如交换机类型、是否持久化等 3、生产者声明一个队列并设置相关属性,比如是否排他、是否持久化、是否自动删除等 4、生产者通 ...
分类:
其他好文 时间:
2019-01-27 19:18:54
阅读次数:
180
一个haservice下面有accpet和haclient分别对应客户端和服务端,grouptranserservie用来控制消息是否获取到,下面具体讲。 拿haclient举例子,在主线程做的事情 也就是在rocketmq里面,一个具体的任务就是单独分配一个线程,从而发挥多线程优势,在主线程上面休 ...
分类:
其他好文 时间:
2019-01-27 16:35:46
阅读次数:
185
在发送小消息的场景中,三个消息中间件的表现区分明显: Kafka的吞吐量高达17.3w/s,远超其他两个产品。这主要取决于它的队列模式保证了写磁盘的过程是线性IO。此时broker磁盘IO已达瓶颈。 RocketMQ也表现不俗,吞吐量在11.6w/s,磁盘IO %util已接近100%。Rocket ...
分类:
其他好文 时间:
2019-01-26 22:38:02
阅读次数:
245
用两台服务器,搭建出一个双master双slave、无单点故障的高可用 RocketMQ 集群。此处假设两台服务器的物理 IP 分别为:192.168.50.1、192.168.50.2。 内容目录 1. 启动 NameServer 集群 2. 启动 Broker 集群 3. RocketMQ 可视 ...
分类:
其他好文 时间:
2019-01-21 20:06:06
阅读次数:
209
内容目录 1. RocketMQ是什么? 2. 下载并解压 3. 启动NameServer 4. 启动 Broker 5. 关闭消息队列 1. RocketMQ是什么? RocketMQ是一种消息队列。何为消息队列?即数据结构中一种“先进先出”的数据结构。在微服务中,分布式消息队列可以解决什么问题? ...
分类:
其他好文 时间:
2019-01-21 00:32:03
阅读次数:
331
什么是Celery呢? Celery是一个用Python开发的异步的分布式任务调度模块。 Celery本身不包含消息服务,使用第三方消息服务,也就是Broker,来传递任务,目前支持的有Rebbimq,Redis,数据库以及其他的一些比如Amazon SQS,Monogdb和IronMQ 。 Cel ...
分类:
其他好文 时间:
2019-01-20 22:07:18
阅读次数:
219