手写工具
文章平均质量分 91
混字决攻城狮
在校生
展开
-
分布式协调工具的锁机制
分析性能问题 在之前的分布式协调工具中使用的是Arrayist来作为等待锁的等待者的队列,但是这样在释放锁和加锁时就需要注意线程安全问题,需要为加锁和释放锁使用同一个锁。这样无疑是降低了加锁和释放锁的速度。同时arrayList的删除和增加也是一个耗时的操作,添加的耗时主要体现在超出容量限制是的容量扩增那一块。 解决方案 将使用自定义的link来替代arrayList,并且定义添加只在头部添加。删除有两个地方,一个是尾部,还有一个是当前线程所在的link节点,这个节点可能是头部。所以在这里需要注意一下。 在原创 2021-04-28 15:13:55 · 185 阅读 · 0 评论 -
手写基于IP:Port为主节点选取方式的分布式协调工具
1.主节点选举 以下面的ip和port为例子: ip port localhost 10000 localhost 11001 localhost 12002 那么三个节点中ip为localhost,port为10000的节点为主节点。 规定主节点必须先运行,然后再运行其他节点。 当主节点开启后,开启其他节点,主节点在收到了其他节点向主节点发送的注册消息后开始向其他节点发送保活数据包。 当主节点down后,其他节点等待一段时间后将会开始选举新的主节点,那么按照规则就是ip为lo原创 2021-03-23 16:37:39 · 270 阅读 · 0 评论