- 博客(3)
- 资源 (4)
- 收藏
- 关注
原创 Java并发编程 -- 再论锁的问题 -- 无锁与锁优化
在前面JUC源码分析和Disruptor分析序列中,我们已经反复讨论了锁与无锁的问题。众所周知,在多线程程序中,锁是性能杀手。因此“锁优化”一直是多线程中被频繁探讨的一个问题。本文将从“锁优化”这个应用层面,把前面的诸多东西串起来,探讨一下锁优化的一系列策略。策略1:业务和设计层面 – 单线程或去共享资源我们知道,至所以要加锁,是因为多线程 + 共享资源。如果我们可以根据具体业务场景,或者从顶层设
2017-01-20 19:04:59 1503 2
原创 分布式消息队列RocketMQ源码分析之3 -- Consumer负载均衡机制 -- Rebalance
同Kafka一样,RocketMQ也需要探讨一个问题:如何把一个topic的多个queue分摊给不同的consumer,也就是负载均衡问题。 有兴趣朋友可以关注公众号“架构之道与术”, 获取最新文章。 或扫描如下二维码: 在讨论这个问题之前,我们先看一下Client的整体架构。 Producer与Consumer类体系 从下图可以看出以下几点: (1)Producer与Consum...
2017-01-17 17:35:44 5649
原创 分布式消息队列RocketMQ源码分析之2 -- Broker与NameServer心跳机制
我们知道,Kafka是通过ZK的临时节点来监测Broker的死亡的。当一个Broker挂了之后,ZK上面对应的临时节点被删除,同时其他Broker收到通知。 那么在RocketMQ中,对应的NameServer是如何判断一个Broker的死亡呢? 有兴趣朋友可以关注公众号“架构之道与术”, 获取最新文章。 或扫描如下二维码: NameSrv监测Broker的死亡 机制之一:监测连...
2017-01-12 18:34:05 3130
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人