- 博客(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 713
原创 Push or Pull: RocketMQ长轮询原理及源码分析
Push or Pull: RocketMQ长轮询原理及源码分析1. Push vs PullPush即服务端主动发送数据给客户端。在服务端收到消息之后立即推送给客户端。Push模型最大的好处就是实时性。因为服务端可以做到只要有消息就立即推送,所以消息的消费没有“额外”的延迟。但是Push模式在消息中间件的场景中会面临以下一些问题:1)在Broker端需要维护Consumer的状态,不利于Broker去支持大量的Consumer的场景;2)Consumer的消费速度是不一致的,由Broker进行推送
2021-07-13 23:43:03 1711
原创 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 1398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人