zoukankan      html  css  js  c++  java
  • Orleans学习总结(四)--集群配置篇

    上篇我们讲了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,一定要和上面的一样。

     

    2、 客户端加载这个配置

     

    五、测试

    在多台机器上开Host,和Client,然后尝试关闭某个Host,看Client是否能正常运行。

     

  • 相关阅读:
    知方可补不足~Sqlserver发布订阅与sql事务的关系
    基础才是重中之重~泛型类的静态构造方法可不是只执行一次呀
    EF架构~通过EF6的DbCommand拦截器来实现数据库读写分离~终结~配置的优化和事务里读写的统一
    EF架构~通过EF6的DbCommand拦截器来实现数据库读写分离~再续~添加对各只读服务器的心跳检测
    windows服务的创建、安装和调试
    Axure RP 实践.1
    实习第一天之数据绑定:<%#Eval("PartyName")%>'
    Hadoop云计算大数据书籍分享
    Android利用setLayoutParams在代码中调整布局(Margin和居中)
    TopCoder中插件的用法
  • 原文地址:https://www.cnblogs.com/mrblue/p/8448319.html
Copyright © 2011-2022 走看看