上篇我们讲了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是否能正常运行。

Orleans学习总结(四)--集群配置篇的更多相关文章

  1. SpringCloud学习之eureka集群配置

    一.集群方案及部署思路: 如果是单节点的注册中心,是无法保证系统稳定性的,当然现在项目部署架构不可能是单节点的. 集群节点的部署思路:通过运行多个实例并请求他们相互注册,来完成注册中心的高可用性(结伴 ...

  2. Kubernetes集群搭建之Etcd集群配置篇

    介绍 etcd 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点. 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过g ...

  3. Tomcat集群配置学习篇-----分布式应用

    Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...

  4. 转载 Tomcat集群配置学习篇-----分布式应用

    Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...

  5. SpringCloud学习笔记(四):Eureka服务注册与发现、构建步骤、集群配置、Eureka与Zookeeper的比较

    简介 Netflix在设计Eureka时遵守的就是AP原则 拓展: 在分布式数据库中的CAP原理 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性). Availab ...

  6. Apache负载均衡与Tomcat集群配置学习(Windows环境)

    本文主要参考自http://www.iteye.com/topic/985404?dhcc,经由实际操作配置操并记录而成. 由于最近的一个Java开发项目用到了Tomcat中间件作为web服务器,刚开 ...

  7. MySQL Cluster 7.3.5 集群配置实例(入门篇)

    一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...

  8. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  9. MySQL Cluster 7.3.5 集群配置参数优化(优化篇)

    按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...

随机推荐

  1. iOS 转换异步block为同步方式运行

    使用dispatch_semaphore_t 实现 dispatch_semaphore_t sema = dispatch_semaphore_create(0); //创建信号量 __block ...

  2. Android防止进程被第三方软件杀死

    http://blog.csdn.net/wangliang198901/article/details/12342845 http://stackoverflow.com/questions/385 ...

  3. 微信小程序无法获取UnionId的情况及处理

    问题背景:做了微信小程序,一切都还正常,但是最后体验版放出去时,却发现很多用户无法绑定用户,后台返回:参数非法.经过多方排查,发现是微信拿到的code请求返回的数据里没有UnionId,也就是接口返回 ...

  4. CentOS中环境变量和配置文件

    什么是环境变量 bash shell用一个叫做 环境变量(environment variable) 的特性来存储有关shell会话和工作环境的信息.即允许在内存中存储数据,使得在程序或shell中运 ...

  5. 三种方法教你如何用PHP模拟post提交数据

    php模拟post传值在日常的工作中用到的不是很多,但是在某些特定的场合还是经常用到的. 下面,我整理了三种php模拟post传值的方法,file_get_contents.curl和socket. ...

  6. Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果

    大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD ...

  7. 第三部分:Android 应用程序接口指南---第一节:应用程序组件---第一章1-1.Fragment

    第1-1章 Fragments 在Activity中的fragment代表的是一种行为或用户界面的一部分.你可以在activity中结合多个fragments创建一个多面板UI,并可以在多个activ ...

  8. 基于mindwave脑电波进行疲劳检测算法的设计(3)

    这一节我将讲解thinkgear.h 里面的函数和宏定义.这一些都可以在MindSet Development Tools\ThinkGear Communications Driver\docs\h ...

  9. 虚拟机centos 7联网设置之NAT方式

    第一步在设置虚拟机的连接模式为NAT,虚拟机是VMware12的版本 第二步在PC主机上设置网络共享 第三步将虚拟机网卡开启,默认关闭状态,开启网卡 ip link set ens32 up (ens ...

  10. numpy数组(5)-二维数组的轴

    numpy的mean(),std()等方法是作用于整个numpy数组的,如果是二维数组的话,也是整个数组,包括所有行和列,但我们经常需要它仅作用于行或者列,而不是整个二维数组,这个时候,可以定义轴ax ...