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負載均衡功能的關...