看github上面提到了otter的高可用,提出了考虑到node节点挂掉的情况,说是利用zookeeper做监控,做出主备的情况,但是没有提到配置,请教各位大佬,怎么对node进行高可用呢?
ubof19bj1#
@yhxxming 据我目前研究了一段时间 Otter 存在单节点故障问题,因为 Manager 只有一个;按目前主流分布式普遍设计的方法一般都会采用 RAFT 算法来解决单节点故障;不过如果按我以下的设想不知是否可以:设想、假想、YY:即使 Manager 挂掉也不会影响 Node 的运行,因为这样的话可以利用 docker swarm 的 Raft 实现进行 Ship Running ,毕竟 Manager 的角色目前只是一个配置服务器;
RAFT
docker swarm
Raft
Ship Running
以上是我的一些肤浅的认识,大侠莫怪。。。。。
xmd2e60i2#
Channel管理 > Pipeline管理 > 编辑Pipeline > Select机器/Load机器
e1xvtsh33#
这是配置channel的步骤啊,select/load机器都是只能选择一个node节点,即使是你select或者load选择两个otter也只会选出一个,也就是说node在单节点在跑,这就不是高可用啊
t5fffqht4#
@caryyu Otter确实存在单点故障,就是在消费节点node这块,解析端canal可以利用zookeeper做高可用,也就是主备模式,manager可以通过node指向两个;唯一就是node这块没有高可用方案,你可以看下github上面对于otter高可用对于node那一节的分析,在目前开源的基础上感觉阿里也没有对node做高可用,只是manager监控node的存活情况,你说的方案我表示水平低微还是理解不了,Ship Running是个啥
yqyhoc1h5#
@yhxxming 不用太在意 Ship Running ,其实我想表达的意思是 Node 可以交给 Docker Swarm 来跑,变相利用 RAFT 做高可用;不过,如果 Node 可以指向多个 Manager 的话,其实也能利用相同方案了。
41ik7eoe6#
选择两个node,一个node挂掉,manager会切换到另一个啊
neekobn87#
可以看看这个issue #185
7条答案
按热度按时间ubof19bj1#
@yhxxming 据我目前研究了一段时间 Otter 存在单节点故障问题,因为 Manager 只有一个;按目前主流分布式普遍设计的方法一般都会采用
RAFT
算法来解决单节点故障;不过如果按我以下的设想不知是否可以:设想、假想、YY:即使 Manager 挂掉也不会影响 Node 的运行,因为这样的话可以利用
docker swarm
的Raft
实现进行Ship Running
,毕竟 Manager 的角色目前只是一个配置服务器;以上是我的一些肤浅的认识,大侠莫怪。。。。。
xmd2e60i2#
Channel管理 > Pipeline管理 > 编辑Pipeline > Select机器/Load机器
e1xvtsh33#
这是配置channel的步骤啊,select/load机器都是只能选择一个node节点,即使是你select或者load选择两个otter也只会选出一个,也就是说node在单节点在跑,这就不是高可用啊
t5fffqht4#
@caryyu Otter确实存在单点故障,就是在消费节点node这块,解析端canal可以利用zookeeper做高可用,也就是主备模式,manager可以通过node指向两个;唯一就是node这块没有高可用方案,你可以看下github上面对于otter高可用对于node那一节的分析,在目前开源的基础上感觉阿里也没有对node做高可用,只是manager监控node的存活情况,你说的方案我表示水平低微还是理解不了,Ship Running是个啥
yqyhoc1h5#
@yhxxming 不用太在意 Ship Running ,其实我想表达的意思是 Node 可以交给 Docker Swarm 来跑,变相利用 RAFT 做高可用;不过,如果 Node 可以指向多个 Manager 的话,其实也能利用相同方案了。
41ik7eoe6#
选择两个node,一个node挂掉,manager会切换到另一个啊
neekobn87#
看github上面提到了otter的高可用,提出了考虑到node节点挂掉的情况,说是利用zookeeper做监控,做出主备的情况,但是没有提到配置,请教各位大佬,怎么对node进行高可用呢?
可以看看这个issue #185