分布式小白求入门,请入门的大手子指点

纵马饮白虹 2019-06-06 04:06:13
在理解分布式方面的共识算法,有这样一个疑问
paxos的算法的实现中选举和节点的动态加入是不是要使用udp组播|广播才能实现?
如果使用广播|组播,需不需要使用非对称算法验证身份?

网上查找Zookeeper资料,资料中说Zookeeper3.4之后选举部分推荐的通讯模式是基于tcp的,那选举时,Zookeeper的节点是怎么知道其他节点地址的?
没使用过Zookeeper,我看到这里自己想 要是我自己实现这个效果 有两种思路
一、做一个服务,所有节点都向这个服务声明自己。从这个服务获取其他节点网络信息
二、首先通过广播|组播传递自己的网络信息并获取其他节点网络信息,之后在切换成tcp和其他节点建立连接
求大手子能给说一下
求同问的能给顶一下
...全文
685 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
纵马饮白虹 2019-06-21
  • 打赏
  • 举报
回复
在水几天,要是还没人就结帖了
纵马饮白虹 2019-06-17
  • 打赏
  • 举报
回复
自己顶一下,日常举高高
纵马饮白虹 2019-06-17
  • 打赏
  • 举报
回复
引用 14 楼 ZhuCheng Xie 的回复:
使用租约,租约服务给Leader发特殊租约 如果分成两个集群A和B 假设Leader在B,租约服务在A 租约服务收不到Leader的心跳后只需要等待前一个Leader租约的有效期之后,让A重新选主 给选出的Leader颁发租约 B中的Leader无法续租,在租约到期后,B和租约服务无法联通 所以无法选主 如果A和B突然又联通了 也只有一个Leader 不会出现双主问题 但是一致性还是无法解决 假定A和B在不联通后 B中的Leader发起了几个提议 此时A中的机器不知道最新的提议 在A重新选主后 A中的Leader又发起了几个提议 此时出现不一致问题 怎么解决
ZhuCheng Xie 2019-06-14
  • 打赏
  • 举报
回复
如果网络问题,将集群分为两块网络,成为了一种另类的局域网环境 是不是会选举出两个Leader? --对的,会有2个leader 如果网络突然又好了,两块集群又能联通了,怎么感知到有两个Leader需要重新选举
纵马饮白虹 2019-06-13
  • 打赏
  • 举报
回复
来人啦! 来人啦! 来人啦! 大召唤术
纵马饮白虹 2019-06-12
  • 打赏
  • 举报
回复
自己顶一下,日常举高高
纵马饮白虹 2019-06-12
  • 打赏
  • 举报
回复
引用 10 楼 LCL_data 的回复:
能不能讲一下 Leader 挂掉后重新选举的思路(如果要自己实现)? --leader挂掉, 参考 https://blog.csdn.net/qq_35956041/article/details/81071156 其他节点怎么知道 Leader 挂掉了?(节点少可以用心跳,如果节点非常多呢?) --是用的心跳 如果网络问题,将集群分为两块网络,成为了一种另类的局域网环境 是不是会选举出两个Leader? --对的,会有2个leader 如果网络突然又好了,两块集群又能联通了,怎么感知到有两个Leader需要重新选举?怎么保持一致性? 在上述情况下,目前的paxos实现还能保持一致性吗,使用的是什么思路? --后面两个问题,我暂时不知道,抱歉。
谢谢指点 想要理解分布式真是一个大工程 刚刚看了下租约的概念,租约中提出了一个解决双主问题的思路 这样的话就是只有能联通租约服务的那块集群可以正常工作,连不通的那块 无法选主甚至无法工作。以此解决双主 就是不知道目前成熟的分布式算法有没有用这个来参与选主的
十八道胡同 2019-06-11
  • 打赏
  • 举报
回复
能不能讲一下 Leader 挂掉后重新选举的思路(如果要自己实现)? --leader挂掉, 参考 https://blog.csdn.net/qq_35956041/article/details/81071156 其他节点怎么知道 Leader 挂掉了?(节点少可以用心跳,如果节点非常多呢?) --是用的心跳 如果网络问题,将集群分为两块网络,成为了一种另类的局域网环境 是不是会选举出两个Leader? --对的,会有2个leader 如果网络突然又好了,两块集群又能联通了,怎么感知到有两个Leader需要重新选举?怎么保持一致性? 在上述情况下,目前的paxos实现还能保持一致性吗,使用的是什么思路? --后面两个问题,我暂时不知道,抱歉。
纵马饮白虹 2019-06-10
  • 打赏
  • 举报
回复
自己顶一下,举高高
纵马饮白虹 2019-06-10
  • 打赏
  • 举报
回复
引用 1 楼 LCL_data 的回复:
集群内zk,配置时需要配置其他机器的ip和通信端口的,这样zk集群内部就可以通信选leader了
希望能指点一下写在7楼的疑惑
纵马饮白虹 2019-06-10
  • 打赏
  • 举报
回复
能不能讲一下 Leader 挂掉后重新选举的思路(如果要自己实现)? 其他节点怎么知道 Leader 挂掉了?(节点少可以用心跳,如果节点非常多呢?) 如果网络问题,将集群分为两块网络,成为了一种另类的局域网环境 是不是会选举出两个Leader? 如果网络突然又好了,两块集群又能联通了,怎么感知到有两个Leader需要重新选举?怎么保持一致性? 在上述情况下,目前的paxos实现还能保持一致性吗,使用的是什么思路?
十八道胡同 2019-06-07
  • 打赏
  • 举报
回复
引用 5 楼 li905663280 的回复:
实际中使用只要3个节点吧。 我们公司的zk用来管理集群和取序列
一般是奇数个,3个够了。
li905663280 2019-06-06
  • 打赏
  • 举报
回复
实际中使用只要3个节点吧。 我们公司的zk用来管理集群和取序列
纵马饮白虹 2019-06-06
  • 打赏
  • 举报
回复
自己顶一下,举高高 话说这算不算我自己举起了自己?
纵马饮白虹 2019-06-06
  • 打赏
  • 举报
回复
引用 1 楼 LCL_data 的回复:
集群内zk,配置时需要配置其他机器的ip和通信端口的,这样zk集群内部就可以通信选leader了
没想到是这种方式,其实原来我想过,可是想到这样做节点多了之后配置文件要写一堆 就没往后想 那是不是能理解成 在实际使用中 其实不会有太多Zookeeper节点?
十八道胡同 2019-06-06
  • 打赏
  • 举报
回复
十八道胡同 2019-06-06
  • 打赏
  • 举报
回复
集群内zk,配置时需要配置其他机器的ip和通信端口的,这样zk集群内部就可以通信选leader了

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧