做进口产品的网站,无锡建设公司网站,建筑模板的价格一览表,门户网站建设招投标Coolpy7分布式技术#xff0c;支持多个Coolpy7 Core提供跨数据中心(多活)模式组建群集#xff0c;支持群集零手动维护(基于Gossip分布式协议作为群集节点状态维护)。Coolpy7从版本号V7.3.2.3开始支持本功能。请到Coolpy7之github项目release下载相关版本https://github.com/C…Coolpy7分布式技术支持多个Coolpy7 Core提供跨数据中心(多活)模式组建群集支持群集零手动维护(基于Gossip分布式协议作为群集节点状态维护)。Coolpy7从版本号V7.3.2.3开始支持本功能。请到Coolpy7之github项目release下载相关版本https://github.com/Coolpy7/Coolpy7/releases。也可以通过docker安装。Coolpy7分布集群设计Coolpy7消息服务器集群基于Gossip协议作为服务发现基于UDP作为集群节点间消息转发通信的分布式设计集群原理可简述为下述几条规则:所有节点独立维护自有的身份验证、订阅、取消订阅事件处理集群之间只会转发PUBLISH消息并且消息体少于63K的消息节点内组播消息不被转发只在当前节点有效集群之间不保证消息不丢失只转发消息到所有在线节点转发会忽略离线节点客户端连接某一个节点后将会收到来自其他节点给它的消息(于订阅的主题)Coolpy7集群架构图消息分发流手动配置管理集群假设部署三台服务器 192.168.1.100, 192.168.1.101, 192.168.1.102 上部署集群:节点名 IPnode1 192.168.1.100node2 192.168.1.101node3 192.168.1.102节点名不允许重复否则群集将无法自动维护集群状态节点1192.168.1.100节点设置# 下载服务器端sudo wget https://github.com/Coolpy7/Coolpy7/releases/download/7.3.2.3/go_build_Coolpy7_go_linux.zip# 解压文件unzip go_build_Coolpy7_go_linux.zip# 提权chmod -R 777 go_build_Coolpy7_go_linux# 启动Coolpy7 启动参数# csk 集群服务同步验证token集群各节点转发消息时验证此口令防止恶意入侵集群# nid 集群节点名称必须集群中唯一# mbs 连接集群其他节点,只需填其他节点信息以半角豆号分隔多个节点信息./go_build_Coolpy7_go_linux -csk12345678 -nidnode1 -mbs192.168.1.101:7946,192.168.1.102:7946# 启动成功后会打印如下信息即说明服务端已正常启动host于1883端口请确保相关防火墙配置可用2020/02/14 14:48:27 cluster on udp 192.168.1.100:79462020/02/14 14:48:27 cluster sync on udp port 79472020/02/14 14:48:27 Coolpy7 v7.3.2.3 tcp [::]:1883 plugin build golang v1.13.1打印消息提示群集使用UDP的7946端口进行集群服务发现UDP的7947端口进行消息同步服务。如需自定义端口可通过启动参数-crp int 集群发现端口(UDP) (default 7946)-csp int 集群同步端口(UDP) (default 7947)节点2192.168.1.101节点设置# 下载服务器端sudo wget https://github.com/Coolpy7/Coolpy7/releases/download/7.3.2.3/go_build_Coolpy7_go_linux.zip# 解压文件unzip go_build_Coolpy7_go_linux.zip# 提权chmod -R 777 go_build_Coolpy7_go_linux# 启动Coolpy7 启动参数# csk 集群服务同步验证token集群各节点转发消息时验证此口令防止恶意入侵集群# nid 集群节点名称必须集群中唯一# mbs 连接集群其他节点,只需填其他节点信息以半角豆号分隔多个节点信息./go_build_Coolpy7_go_linux -csk12345678 -nidnode2 -mbs192.168.1.100:7946,192.168.1.102:7946# 启动成功后会打印如下信息即说明服务端已正常启动host于1883端口请确保相关防火墙配置可用2020/02/14 14:48:27 cluster on udp 192.168.1.101:79462020/02/14 14:48:27 cluster sync on udp port 79472020/02/14 14:48:27 Coolpy7 v7.3.2.3 tcp [::]:1883 plugin build golang v1.13.1节点3192.168.1.102节点设置# 下载服务器端sudo wget https://github.com/Coolpy7/Coolpy7/releases/download/7.3.2.3/go_build_Coolpy7_go_linux.zip# 解压文件unzip go_build_Coolpy7_go_linux.zip# 提权chmod -R 777 go_build_Coolpy7_go_linux# 启动Coolpy7 启动参数# csk 集群服务同步验证token集群各节点转发消息时验证此口令防止恶意入侵集群# nid 集群节点名称必须集群中唯一# mbs 连接集群其他节点,只需填其他节点信息以半角豆号分隔多个节点信息./go_build_Coolpy7_go_linux -csk12345678 -nidnode3 -mbs192.168.1.100:7946,192.168.1.101:7946# 启动成功后会打印如下信息即说明服务端已正常启动host于1883端口请确保相关防火墙配置可用2020/02/14 14:48:27 cluster on udp 192.168.1.102:79462020/02/14 14:48:27 cluster sync on udp port 79472020/02/14 14:48:27 Coolpy7 v7.3.2.3 tcp [::]:1883 plugin build golang v1.13.1至此集群搭建完毕现在即可通过MQTT客户端工具(MQTTLens)等进行相关集群功能测试。可从A节点连接的客户端推送消息然后B,C节点的客户端如果订阅了相同主题将会收到相关跨节点消息。自动愈合自动清除异常节点集群自动恢复功能说明:节点网络异常离线各节点会发现ping包没有响应随后邀请其他在线节点向异常节点发起ping测试如经过三轮周期没有得到异常节点响应当前节点设置该节点为离线状态移出在线节点列表。异常节点再次上线所有在线节点收到状态信号所有节点设置该节点为在线添加该节点到在线列表防火墙设置Coolpy7使用UDP协议进行集群节点状态信号和消息同步通信所以需要开始相关UDP端口防火墙关于docker部署方式最新版本docker镜像已更新到latest标签版本下docker hub地址https://hub.docker.com/r/coolpy7/coolpy7_core docker相关部署方式请参阅本手册相关章节。Docker部署(Windows运行CP7)/kai-shi-shi-yong/docker-bu-shu-windows-yun-hang-cp7