- 博客(4)
- 收藏
- 关注
原创 多线程交替打印,循环输出ABBCCC
多线程交替打印,循环输出ABBCCC 使用synchronized/wait/notifyAll /** * 按照ABBCCC...的顺序打印20次 */ public class ABBCCC_Wait { public static void main(String[] args) { ABBCCCPrinter printer = new ABBCCCPrinter(1, 5); new Thread(() -> { pr
2021-09-24 10:48:46
870
原创 Push or Pull: RocketMQ长轮询原理及源码分析
Push or Pull: RocketMQ长轮询原理及源码分析 1. Push vs Pull Push即服务端主动发送数据给客户端。在服务端收到消息之后立即推送给客户端。Push模型最大的好处就是实时性。因为服务端可以做到只要有消息就立即推送,所以消息的消费没有“额外”的延迟。但是Push模式在消息中间件的场景中会面临以下一些问题: 1)在Broker端需要维护Consumer的状态,不利于Broker去支持大量的Consumer的场景; 2)Consumer的消费速度是不一致的,由Broker进行推送
2021-07-13 23:43:03
2059
原创 RocketMQ消费进度offset
1. OffsetStore:消费进度管理接口 1.1 接口方法 1 ) void load() 从消息进度存储文件加载消息进度到内存。 2 ) void updateOffset ( final MessageQueue mq, final long offset, final boolean increaseOnly) 更新内存中的消息消费进度。 MessageQueue mq :消息消费队列。 3 ) long read Offset ( fin a l MessageQueue mq, final
2021-07-13 16:58:15
1772
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅