1. 程式人生 > >Orleans學習總結(四)--集群配置篇

Orleans學習總結(四)--集群配置篇

pan aging 方式 ddr sts system slist globals ica

上篇我們講了Orleans學習總結(三)--持久化篇,這一篇我們來說說集群配置,畢竟這個才是Orleans的看家本領 Orleans支持熱起動,支持自動節點發現,能夠斷線重發等一系列黑科技。 我這篇是以Zookeeper為例說明。

一、開啟Zookeeper

Zookeeper是什麽和怎麽配置我就這裏就不贅述,自行百度。官方推薦至少開5個,我這做測試就只開1個。

二、安裝Orleans的Zookeeper的依賴庫

技術分享圖片

三、Host配置

1、在上篇裏提到的OrleansConfiguration.xml配置文件 刪除 <SeedNode Address="localhost" Port="11111" /> 添加這一行

<SystemStore SystemStoreType="ZooKeeper"

DeploymentId="ZooKeeper"
DataConnectionString="192.168.0.68:2181"/>

DataConnectionString="192.168.0.68:2181",如果有多個Zookeeper,用,分開

<?xml version="1.0" encoding="utf-8"?>
<OrleansConfiguration xmlns="urn:orleans">
  <Globals>
    <SystemStore SystemStoreType="ZooKeeper"
DeploymentId="ZooKeeper" DataConnectionString="192.168.0.68:2181"/> <StorageProviders> <!--名字為Default1的持久化方式,MySQL--> <Provider Type="Orleans.Storage.AdoNetStorageProvider" Name="Default1" AdoInvariant="MySql.Data.MySqlClient"
DataConnectionString="Server=192.168.0.209;Database=orleans;User Id=dbuser;Password=dbuser;" UseJsonFormat="true" /> </StorageProviders> </Globals> <Defaults> <!--Silo和Silo之間通信用的IP和端口--> <Networking Address="localhost" Port="11111" /> <!--Client用來鏈接Silo的IP和端口--> <ProxyingGateway Address="localhost" Port="40000" /> <!--Log配置--> <Tracing DefaultTraceLevel="Info" TraceToConsole="true" TraceToFile="..\log\{0}-{2}-{1}.log" WriteMessagingTraces="false"> <TraceLevelOverride LogPrefix="Application" TraceLevel="Info" /> <TraceLevelOverride LogPrefix="AssemblyLoader.Client" TraceLevel="Info" /> </Tracing> </Defaults> </OrleansConfiguration>

四、Client配置

在生成目錄創建一個ClientConfiguration.xml文件

<?xml version="1.0" encoding="utf-8"?>
<ClientConfiguration xmlns="urn:orleans">
    <SystemStore SystemStoreType="ZooKeeper"
                   DeploymentId="ZooKeeper"
                   DataConnectionString="192.168.0.68:2181"/>

  <Tracing DefaultTraceLevel="Info" TraceToConsole="false" TraceToFile="{0}-{2}-{1}.log" WriteMessagingTraces="false">
    <TraceLevelOverride LogPrefix="Application" TraceLevel="Info" />
    <TraceLevelOverride LogPrefix="AssemblyLoader.Client" TraceLevel="Warning" />
  </Tracing>
</ClientConfiguration>

這裏的DataConnectionString="192.168.0.68:2181,一定要和上面的一樣。

五、測試

在多臺機器上開Host,和Client,然後嘗試關閉某個Host,看Client是否能正常運行。

Orleans學習總結(四)--集群配置篇