上篇我们讲了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. Android 获得手机屏幕真实的宽高

    http://stackoverflow.com/questions/1016896/get-screen-dimensions-in-pixels WindowManager w = activit ...

  2. Python打包方法——Pyinstaller

    Python版本:Python3.5.2 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 ...

  3. IDependency自动注册autofac

    ContainerBuilder builder = new ContainerBuilder(); builder.RegisterGeneric(typeof(Repository<,> ...

  4. mysql和redis的区别

    一..redis和mysql的区别总结 (1)类型上         从类型上来说,mysql是关系型数据库,redis是缓存数据库 (2)作用上        mysql用于持久化的存储数据到硬盘, ...

  5. 第三方文本框 在div中显示预览,让指定节点不受外部css影响

    例如,富文本框中 ol  li 但是我们往往全局样式时候会 让前面的数字不显示,但是富文本框时候,录入,我们需要显示,但是div中就不显示了 我们在预览页面中加上一个指定样式   然后后面 加上!im ...

  6. iBatis resultMap报错 nullValue完美解决

    http://blog.csdn.net/liguohuaty/article/details/4038437

  7. SNF快速开发平台MVC-EasyUI3.9之-WebApi和MVC-controller层接收的json字符串的取值方法和调用后台服务方法

    最近项目组很多人问我,从前台页面传到后台controller控制层或者WebApi 时如何取值和运算操作. 今天就都大家一个在框架内一个取值技巧 前台JS调用代码: 1.下面是选中一行数据后右键点击时 ...

  8. mvc4 强大的导出和不需要上传文件的批量导入EXCEL--SNF快速开发平台3.1

    数据的导入导出,在很多系统里面都比较常见,这个导入导出的操作,在Winform里面比较容易实现,但在Web上我们应该如何实现呢?本文主要介绍利用MVC4+EasyUI的特点,并结合文件上传控件,实现文 ...

  9. cmd命令中截取日期字符

    %date:~0,10% 表示年份    

  10. PureFTP被动端口设置

    修改Pureftp的配置文件把 # PassivePortRange          30000 50000 把前面的#删除 重启pureftpd 注意把被动端口防火墙例外 如果是阿里云主机 安全规 ...