- 博客(5)
- 收藏
- 关注
原创 ZAB协议 对分布式一致性的保证
在前面, 我讲了Raft协议在分布式环境下的作用,这篇讲解ZK的ZAB协议算法。谈到ZAB协议,不得不提的是Paxos算法,可是Paxos就如所有的书和博客里面说的那样,的确让人很难理解,我尝试看了很多相关的资料,对他的概念还是一知半解,raft算是对Paxos的一种可理解的实现。Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。Zo...
2019-07-28 22:32:57 684
原创 回压式 负载均衡的思考
回压策略Gateway维护一个ConcurrentLinkedQueue[WorkRequest],其中WorkRequest里面记录Provider的唯一标志。之后LoadBalance从这个队列里面一直Poll工作请求。如果有则选择对应的Provider打过去,如果没有则循环等待(此时称Provider端对Gateway产生了回压);Provider端注册Listener的时候,告知Ga...
2019-07-26 19:29:24 415
原创 Dubbo中几种负载均衡方式
AbstractLoadBalanceDubbo 中,所有负载均衡实现类均继承自 AbstractLoadBalance,该类实现了 LoadBalance 接口,并封装了一些公共的逻辑。如下 public <T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation ...
2019-07-21 18:24:41 1383
原创 负载均衡策略实现的几点问题
最近参加阿里云举办的天池中间件挑战赛初赛,赛题是设计一个良好的负载均衡策略,能够最大程度保证gateway调用Provoder的成功率。赛题具体就不透漏了,大家可以自己去提交下代码。 话说负载均衡这个东东,在上大学的时候就经常听说,但是自己写代码的时候却不会涉及到,因为这些都是框架在底层处理了。熟悉Dubbo的同学都知道,dubbo有自己的缺省负载均衡策略配置,即RandomLoadBalanc...
2019-07-06 16:48:12 352
原创 ThreadLocal以及FastThreadlocal源码解读
ThreadLocal在线程之间隔离变量十分方便,但是JDK自带的这个东东,也并不是毫无缺点的,这里先不讲他的缺点,因为大多数情况下,JDK的ThreadLocal还是够用的。JDK对ThreadLocal的介绍该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的...
2019-07-04 23:54:49 361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人