上篇我们讲了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. C++中extern “C”含义及extern、static关键字浅析

    https://blog.csdn.net/bzhxuexi/article/details/31782445 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C ...

  2. iOS开发-UIView扩展CGRect

    关于UIView的位置都会遇到,一般需要改变UIView的位置,需要先获取原有的frame位置,然后在frame上面修改,有的时候如果只是改变了一下垂直方向的位置,宽度和高度的一种,这种写法很麻烦.下 ...

  3. 发布库到仓库 maven jcenter JitPack MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. APICloud和海马玩模拟器结合调试手机页面

    https://blog.csdn.net/pleasecallme_522/article/details/54577904

  5. grid - 重复网格轨道

    使用repeat()可以创建重复的网格轨道.这个适用于创建相等尺寸的网格项目和多个网格项目 <view class="grid"> <view class='gr ...

  6. grid - 初识

    Grid有三个参数 目前介绍以下两种:grid.inline-grid <view class="grid"> <view class='grid-row'> ...

  7. C#调用存储过程详解(带返回值、参数输入输出等)

    CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGI ...

  8. [转]Java NIO 系列教程

    Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(B ...

  9. ES6,Array.copyWithin()函数的用法

    ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去. Array.prototype.copyWithin(target, star ...

  10. 【九天教您南方cass 9.1】 09 提取坐标的几种方法

    同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 我是本节课主讲老师九天. 我们讲课的教程附件也是共享的,请注意索取测量空间中. [点击索取cass教程]5元立得 (给客服说暗号:“ ...