ICE之 IceGrid負載均衡部署

2021-07-16 22:07:21 字數 3162 閱讀 8385

1、環境

主機1:ip=192.168.0.239,上面部署登錄檔伺服器registry和節點node1,registry和node1執行在同一程序中;

主機2:ip=192.168.0.25,上面部署節點node2;

其中每個節點中包含乙個服務程式,服務程式均在節點啟動時啟動。

2、主機1配置

#伺服器模板

#自定義引數index

#伺服器id,程式路徑,啟動方式

#物件介面卡配置

#伺服器中自定義屬性identity

#負載均衡配置,使用輪詢排程方式(最近最少使用演算法)

#該replica-group中的物件,客戶端根據該物件標識或型別定位請求

#節點1,對應於服務程式例項******server-1

#節點2,對應於服務程式例項******server-2

(2)registry和node1的配置檔案config.grid,內容如下

#

# the icegrid instance name.

#icegrid.instancename=demoicegrid

## the icegrid locator proxy.

#ice.default.locator=demoicegrid/locator:default -p 12345 #登錄檔伺服器的端點資訊

## icegrid registry configuration.

#icegrid.registry.client.endpoints=default -p 12345

icegrid.registry.server.endpoints=default

icegrid.registry.internal.endpoints=default

icegrid.registry.data=db/registry #登錄檔伺服器使用到的目錄

icegrid.registry.permissionsverifier=demoicegrid/nullpermissionsverifier

icegrid.registry.adminpermissionsverifier=demoicegrid/nullpermissionsverifier

icegrid.registry.sslpermissionsverifier=demoicegrid/nullsslpermissionsverifier

icegrid.registry.adminsslpermissionsverifier=demoicegrid/nullsslpermissionsverifier

## icegrid sql configuration if using sql database.

##ice.plugin.db=icegridsqldb:createsqldb

#icegrid.sql.databasetype=qsqlite

## icegrid node configuration.

#icegrid.node.endpoints=default

icegrid.node.data=db/node #節點1用到的目錄

icegrid.node.collocateregistry=1

#icegrid.node.output=db #將節點上的服務程式的標準輸出重定向到目錄db下,會自動生成輸出檔案

#icegrid.node.redirecterrtoout=1 #將節點上的服務程式的標準錯誤重定向到標準輸出

## trace properties.

#icegrid.node.trace.activator=1

#icegrid.node.trace.adapter=2

#icegrid.node.trace.server=3

## dummy username and password for icegridadmin.

#icegridadmin.username=foo

icegridadmin.password=bar

3、主機2配置 主機2上只需要配置node2的配置檔案config.node即可,內容如下

#

# the icegrid locator proxy.

#ice.default.locator=demoicegrid/locator:default -h 192.168.0.239 -p 12345 #登錄檔伺服器的端點資訊

## icegrid node configuration.

#icegrid.node.endpoints=default

icegrid.node.data=db/node2

icegrid.node.output=db/node2 #將節點上的服務程式的標準輸出重定向到db/node2目錄下,會自動生成輸出檔案

icegrid.node.redirecterrtoout=1

## trace properties.

#icegrid.node.trace.activator=1

4、客戶端配置 配置檔案:config.client,內容如下:

#

# the icegrid locator proxy.

#ice.default.locator=demoicegrid/locator:default -h 192.168.0.239 -p 12345 #只需有登錄檔伺服器的端點資訊即可

5、啟動服務程式 (1)主機1上先啟動登錄檔和節點1,執行:icegridnode --ice.config=config.grid

(3)主機2上啟動節點2,執行:icegridnode --ice.config=config.node,此時因為服務配置為隨節點啟動,所以服務自動啟用;

6、開啟客戶端 執行./client,客戶端自動連線登錄檔伺服器,接下來便可向伺服器發起訪問請求。

7、關於程式編碼調整 icegrid的使用會導致客戶端、伺服器的配置檔案發生變動,而**也只需做極少的改動。主要是客戶端可能會由直接**換成間接**。

使用了icegrid定位服務功能後,客戶端無需知道伺服器上物件介面卡端點,只需要物件標識或物件介面卡標識或replica-group標識

便可以訪問到伺服器上的物件。

伺服器端可以在xml中配置物件標識,客戶端可以從配置檔案中讀取相應物件標識,這樣物件標識就不需要硬編碼在程式中了。

負載均衡之lvs

集群 cluster 將一組計算機軟 硬體連線起來,高度緊密的協作完成計算工作,其中的單個計算機通常稱為節點。負載均衡集群 load balancing 通過負載均衡器,將負載盡可能平均分攤處理。lvs linux virtul server linux虛擬服務,分為三層結構 排程器 上面的虛擬ip...

opensips之負載均衡

這幾天在公司也閒的蛋疼,同事都離職走了,剩下一堆pc機,打算做做opensips freeswitch負載均衡的實驗。實驗做了一半麼做下去,其中乙個原因是幾台pc機 都用windows辦公系統,本來我想直接格掉裝linux系統的,但一來有點懶,二來怕有什麼資料以後還需要,到時候有人找我麻煩。另一方面...

負載均衡之IP

首先讓我們來看看下面這張大家都非常熟悉的tcp ip協議族的分層圖 關於每層在網路資料報傳輸過程中所起到的作用不是本文的重點,本文主要是講解如何在網路層中使用ip來做伺服器集群的負載均衡,為什麼可以在這一層來做負載均衡。下面在來看ip協議的報頭格式 內紅色框內的源位址和目的位址是ip負載均衡功能的關...