V1.1.4 canal-admin中启动(停止)server、instance设计上分别实现什么功能目标
? A 启动(停止)server当前是否是关闭canal进程? 执行操作发现日志"[New I/O server worker #2-5] ERROR com.alibaba.otter.canal.admin.handler.SessionHandler - something goes wrong with channel:[id: 0x402cd1ae, /127.0.0.1:50400 => /127.0.0.1:11110], exception=java.io.IOException: 远程主机强迫关闭了一个现有的连接。"; B 启动(停止)instance看了下源码,在V1.1.4版本中只看到了做了持久化。
原提问者GitHub用户tracythink
在 Canal-Admin 1.1.4 版本中,启动(停止)Server、Instance 功能的设计目标如下:
启动(停止)Server:Canal-Admin 是 Canal 的一套管理界面,它通过与 Canal 的 Server 进行交互,实现对 Canal 集群和 Canal Instance 的管理。启动 Server 功能的目标是启动一个新的 Canal Server,使其加入到 Canal 集群中。停止 Server 功能的目标是停止一个已经启动的 Canal Server。
启动(停止)Instance:Canal-Admin 通过与 Canal Server 进行交互,实现对 Canal Instance 的管理。启动 Instance 功能的目标是在指定的 Canal Server 上启动一个 Canal Instance,使其开始工作并开始从 MySQL 数据库读取数据,并将数据发送到指定的目标。停止 Instance 功能的目标是停止一个已经启动的 Canal Instance,使其停止工作。
以上是启动(停止)Server、Instance 功能的设计目标,具体实现过程可以参考 Canal-Admin 的官方文档进行操作。需要注意的是,在启动(停止)Server、Instance 时需要考虑集群、实例的状态和配置,以避免因操作不当导致数据丢失或系统崩溃等问题。
1、instance的停止主要针对集群服务设计的,我想把一个instance从集群运行中停掉,在canal-admin上标记为停止,集群内的server在几秒钟就会感知到,集群所有节点都会停止instance的运行
2、server的启动、停止,主要为集群的运维,退出集群抢锁等,包括未来节点的升级和运维等
每个canal-server会通过canal-admin来获取instance的状态,动态启动或者关闭
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。