蒙特网站建设公司,婚庆公司一条龙大约多少钱,开网络公司,wordpress主题存放位置本TongRDS配置由中心节点管理 2 个服务节点#xff0c;这 2 个服务节点工作在主备模式#xff0c;并 由 Center 中心节点提供哨兵功能。 
1.1 样例环境 
本次测试采用 2 台主机#xff0c;分别为服务器 1#xff08;192.168.0.86#xff09;和服务器 2#xff08;192.168…本TongRDS配置由中心节点管理 2 个服务节点这 2 个服务节点工作在主备模式并 由 Center 中心节点提供哨兵功能。 
1.1 样例环境 
本次测试采用 2 台主机分别为服务器 1192.168.0.86和服务器 2192.168.0.87服务器 1 主机上运行中心Center节点和服务节点 1服务 器 2 主机上运行服务节点 2。 
两台主机采用相同的 ntp 服务器同步时钟。 java 版本为 OpenJdk 1.8openjdk version 1.8.0_302。 验证用 Jedis 
1.2 软件安装 
将 TongRDS-2.2.1.2.MC.tar.gz 中 心 节 点 程 序 包 和 TongRDS-2.2.1.2.Node.tar.gz 上 传 到 服 务 器 1  将 TongRDS-2.2.1.2.Node.tar.gz 上传到服务器 2。 
分别解 tar 包生成 pmemdb 目录和 pcenter 目录。其中 pmemdb 目录为服务 节点程序pcenter 目录下为中心节点程序 
1.3 服务节点配置 
首先检查一下 cfg.xml 中的 Server.Service 的配置为 WebSession。该服务名 必须和 Center 节点中的配置对应无法对应则节点不允许接入。 然后修改 dynamic.xml 配置文件如下 
?xml version1.0 encodingUTF-8?
ServerCenterPassword454d51192b1704c60e19734ce6b38203/PasswordEndPointHost192.168.0.86/HostPort6300/Port/EndPoint/Center
/Server 
其中Server.Center.Password为连接Center时的认证密码测试时可不用修改。 Sever.Center.EndPoint 配置修改 IP 地址为 192.168.0.86端口为 6300。如果 有多台 Center 节点EndPoint 可配置多条只需要更改IP地址 
?xml version1.0 encodingUTF-8?
ServerCenterPassword454d51192b1704c60e19734ce6b38203/PasswordEndPointHost192.168.0.86/HostPort6300/Port/EndPointEndPointHost192.168.0.87/HostPort6300/Port/EndPoint/Center
/Server 
1.4 中心节点配置 
1.4.1config. properteis 
首先检查config.properteis文件中的service.port6300Center的主服务端口 sentinel.port26379Redis 哨兵的仿真接口26379 为哨兵的缺省端口 server.password454d51192b1704c60e19734ce6b38203节点接入时的认证密码 采用 SM4 加密 
1.4.2cluster.properties 
然后修改 cluster.properties该文件用于定义服务节点的工作状态如集群状 态、哨兵状态等cluster.properties 配置修改如下哨兵模式 
WebSession.typesentinel
WebSession.nodes2
WebSession.node0192.168.0.86:6200
WebSession.node1192.168.0.87:6200 
其中 WebSession.type 定义名为 WebSession 对应服务节点中的 Server.Service 的服务状态为哨兵模式。 WebSession.nodes 定义 2 个服务节点的地址和端口此处配置需要和节点的 实际的运行配置对应 
1.4.3active.properties 
检查 active.properties 文件中是否有 WebSession 的定义例如 
acioweor_483kja03np4h8238G  WebSession, AuthService 
其中的“acioweor_483kja03np4h8238G”是激活码对应哨兵接入时的密码等号后面的内容是该激活码对应的服务名称多个名称用“,”分隔。 
1.4.4sync.properties 
如果有多台中心节点集群可修改此配置文件。例如配置 2 台 Center 集群 
sync.servers2
sync.server1.host192.168.0.86
sync.server1.port6300
sync.server2.host192.168.0.87
sync.server2.port6300 
本例可不配置此文件。 
1.5 启动服务 
分别启动中心节点和两个服务节点。 启动成功后服务节点的 dynamic.xml 文件将被修改为类似如下 
?xml version1.0 encodingUTF-8?ServerCenterPassword454d51192b1704c60e19734ce6b38203/PasswordEndPointHostnode1/HostPort6300/Port/EndPoint/CenterSynchronizeEndPointHost192.168.0.86/HostPort6200/Port/EndPointEndPointHost192.168.0.87/HostPort6200/Port/EndPoint/Synchronize
/Server 
其中的 Synchronize 部分是从 Center 节点的 cluster.properties 配置中同步来 
1.6 测试 
1.6.1测试目的 
使用 jedis 客户端的哨兵模式接入验证 RDS 中心节点模拟哨兵的功能采 用 jedis 多次接入验证 RDS 模拟主节点功能。 
本例使用 jedis 3.7.0group: redis.clients, name: jedis, version: 3.7.0 测试通过。 
注jedis 不同版本存在连接哨兵的 bug例如 3.6.x 版本无法采用有密码 方式连接哨兵。如果测试不成功请首先检查 jedis 版 
1.6.2Jedis 接入jedis 版本 3.7.0 
创建一个 java 类输入如下代 
public static void main(String args[]) {JedisSentinelPool pool  new JedisSentinelPool(WebSession,new HashSetString() {{this.add(192.168.0.86:26379);}}, (String) null, acioweor_483kja03np4h8238G);Jedis jedis  pool.getResource();jedis.set(aaa, ddd)System.out.println(aaa    jedis.get(aaa));jedis.close();pool.close();
} 
其中“WebSession”是服务名需要与中心节点、服务节点的配置一致 
“ 192.168.0.86:26379 ” 为 Center 节 点 仿 真 哨 兵 的 端 口 位 置  “acioweor_483kja03np4h8238G”是哨兵接入的密码对应 Center 的 active.properties 中的配置。 
运行程序在服务器 1192.168.0.86上观察到如下日志   
CacheServer::set() Set aaa  ddd ok
CacheServer::process_get() Get aaa  ddd ok. 
在服务器 2192.168.0.87上观察到如下日志 
CacheServer::sync() Sync aaa  ddd at 1629777554660 ok(0). 
日志分析可知jedis 从哨兵端口获得了主节点的访问端口并成功完成读写 操作节点 2 获得同步数据。 注Center 的哨兵功能不允许无密码接入较低版本的 jedis 
1.6.3验证主节点保持 
继续上例测试多次运行程序观察读写操作均出现在节点 1 的日志中节 点 2 中始终是同步日志说明正常情况下每次接入的操作均发生在一个节点上 另外的节点只负责备份。 
1.6.4备份节点异常测试 
将备份节点杀掉。再次运行上述程序观察主节点日志有正常的读写记录 说明服务正常。 将备份节点恢复再次运行程序读写仍然发生在主节点说明备份节点的 启动停止不会引起主备切换。 
1.6.5主节点异常测试 
将主节点杀掉再次运行程序程序可正常完成。观察 2 节点日志发现set 和 get 的操作日志出现在备份节点说明中心节点做了主备切换。 将主节点恢复等待其启动完成再次运行程序程序可正常完成。观察 节点日志set 和 get 操作的日志出现在主节点节点 1节点 2 上仍然是同步 日志说明 Center 将主节点切换回了节点 1。