rocketmq
勤奋创造幸福但方向要正确
这个作者很懒,什么都没留下…
展开
-
RocketMQ局部顺序消息实现原理
顺序消息:是指消息的消费顺序与消息的产生顺序相同;顺序消息分为全局顺序消息和局部顺序消息,全局顺序消息是指:在某个topic下的所有消息都要保证消费顺序与产生顺序相同;部分顺序消息是指:只要保证每一组消息被顺序消费即可。在RocketMQ中,若要实现全局顺序消息,首先把topic的读写队列设置为一,然后把生产者producer和消费者consumer都设置成单线程即可。但这样一来,就需要牺牲高并发...原创 2019-06-05 14:26:10 · 2283 阅读 · 0 评论 -
使用RocketMQ如何处理重复消息
当我们在使用RocketMQ发送消息时,为了实现百分百消息可靠投递,那么重复消息就不可避免。发送消息(同步方式)一般经过三个步骤:首先:将消息从生产端发送到broker,生产端继续等待这条消息的处理结果(broker是否能够正常接收);然后:broker做一些处理(比如同步到从节点以及持久化等);最后:将应答返还给客户端,客户端收到该消息的应答后,做下一步处理。我们考虑一下这样的...原创 2019-06-05 16:20:38 · 4614 阅读 · 0 评论 -
RocketMQ事务消息实现原理
暂时,先占个坑,待续...原创 2019-06-05 16:33:22 · 547 阅读 · 0 评论 -
用HashedWheelTimer + Redis + RocketMQ发送未来任意时间精度的延迟消息
在目前开源的RockeMQ版本中,并不支持发送任意时间精度的延迟消息。上次面试,碰到这样的面试题---如果要发送任意时间精度的延迟消息,该如何做?当时回答的不好。今天通过查资料,把这种操作简单落地了。具体的做法是:1. 生产延迟消息:延迟消息由两部分组成--该笔消息的订单号key+业务数据value;2. 存储消息:当把延迟消息组装好之后,把该消息(key,value)放入redis中...原创 2019-06-29 14:40:35 · 1764 阅读 · 4 评论