随笔分类 - rocketMQ
摘要:首先要找到原因,是producer太多了,还是说consumer太少了。定位问题,然后看下消息的消费速度是否正常,正常的话,可以通过临时上线更多consumer解决问题。 如果consumer和queue不对等,上线了多台consumer也无法解决的话,可以 准备一个临时的topic; queue的
阅读全文
摘要:1.producer 同步的向broker发送消息,等待响应。 超时则重发,本质上是一个循环,可以设置次数。 broker提供多主模式。 2.broker 将默认的异步刷盘和集群的异步同步更改为同步刷盘,同步同步,也就是同步双写。 3.consumer 利用的是at least once特性。
阅读全文
摘要:1.相关的类 TopicPublishInfo类是用于producer端做负载均衡的关键类,producer通过这个类识别broker并选择broker。 MessageQueue类描述了单个消息队列的模型。 这个类用于管理队列属于那个topic,以及在哪个broker。 TopicRouteDat
阅读全文
摘要:所有producer的send()方法都调用了defaultMqProducer.send()方法; 这也是为什么我们需要对每个每一个producer进行配置的原因; 生产者发送时,会自动轮巡所有可以发送的broker,一条消息发送成功,下一次发送消息换另一个broker发送,使消息平均落在所有br
阅读全文
摘要:1.nameserver 可以做集群,提供轻量级的服务发现与路由。每个nameserver记录完整的路由信息,提供等效的读写服务并支持快速存储扩展。 就是一个注册中心,存储当前集群所有broker的信息、Topic和broker的对应关系。 nameserver用于存储topic、broker关系信
阅读全文
摘要:在保证了rocketMQ的消息顺序性之后,还应该进行消息去重。 由于消息的重复性往往是由于网络抖动造成的,所以我们一般要在自己的业务端完成消息的去重。 一个可用的方案就是使用Redis做缓存。 具体方案如下: 1.消费端收到消息的时候,使用Redis提供的incr,以msgID作为key(保证唯一性
阅读全文

浙公网安备 33010602011771号