天天看点

LCN5集群配置

前言

LCN5.0版本与LCN4.0版本的集群配置方式有很大的区别。

可以直接在官网上查看文档。目前这个时间点文档还是描述5.0版本的,可能以后会更新。

https://www.txlcn.org/zh-cn/docs/setting/distributed.html

以下是官网文档的截图。

LCN5集群配置
LCN5集群配置
LCN5集群配置
LCN5集群配置

下边是本人观看文档之后的知识总结

一、服务端(TxManager)

集群非常简单,相比4.0版本需要使用nginx进行负载均衡,5.0版本只需要让各个TxManager连接的mysql和redis是一样的就可以了。但是需要对mysql和redis进行集群搭建,否则mysql或者redis挂了的话,LCN也就挂了。

二、客户端

通俗的讲,客户端配置多个TxManager服务地址的目的是,客户端可以同时连接多个TxManager,当其中有一个挂了,还有其他的TxManager可以使用;想要给集群增加TxManager,也不需要修改客户端TxManager服务地址的配置,因为多个TxManager连接的是同一个mysql和redis,它们会相互通知。

客户端与TxManager连接原理:

1.客户端项目启动的时候,会读取配置文件TxManager注册地址。

2.向读取到的TxManager发送一个请求,获取对应的底层协议ip和端口号(Netty通讯)。

3.与TxManager建立一个长连接,保持会话消息。

三、实践心得

配置了两个TxManager项目,一个客户端项目。

客户端项目启动时连接了这两个TxManager项目。

然后我再配置多一个TxManager项目,在启动项目时,打印了下图所示的日志信息

LCN5集群配置

可以看出来,新配置的TxManager跟原先的TxManager进行了通信,之后将客户端service-order给注册进来了。

LCN5集群配置

之后我将之前的那两个TxManager项目关闭,发现客户端依然是会跟新配置的TxManager项目保持连接。

继续阅读