天天看點

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項目保持連接配接。

繼續閱讀