Orleans 2.0 官方文档 —— 6.8.4 部署 -> 多集群支持 -> silo的配置

Orleans silo的配置

为了快速了解到概貌,我们将在下面的XML语法中,显示所有相关配置参数(包括可选配置参数):

<?xml version="1.0" encoding="utf-8"?>
<OrleansConfiguration xmlns="urn:orleans">
  <Globals>
    <MultiClusterNetwork
      ClusterId="clusterid"
      DefaultMultiCluster="uswest,europewest,useast"
      BackgroundGossipInterval="30s"
      UseGlobalSingleInstanceByDefault="false"
      GlobalSingleInstanceRetryInterval="30s"
      GlobalSingleInstanceNumberRetries="3"
      MaxMultiClusterGateways="10">
         <GossipChannel  Type="..."  ConnectionString="..."/>      
         <GossipChannel  Type="..."  ConnectionString="..."/>      
    </MultiClusterNetwork>
    <SystemStore ... ServiceId="some-guid" .../>
  </Globals>
</OrleansConfiguration>
var silo = new SiloHostBuilder()
  [...]
  .Configure<ClusterInfo>(options =>
  {
    options.ClusterId = "us3";
    options.ServiceId = "myawesomeservice";
  })
  .Configure<MultiClusterOptions>(options => 
  {
    options.HasMultiClusterNetwork = true;
    options.DefaultMultiCluster = new[] { "us1", "eu1", "us2" };
    options.BackgroundGossipInterval = TimeSpan.FromSeconds(30);
    options.UseGlobalSingleInstanceByDefault = false;
    options.GlobalSingleInstanceRetryInterval = TimeSpan.FromSeconds(30);
    options.GlobalSingleInstanceNumberRetries = 3;
    options.MaxMultiClusterGateways = 10;
    options.GossipChannels.Add("AzureTable", "DefaultEndpointsProtocol=https;AccountName=usa;AccountKey=...");
    options.GossipChannels.Add("AzureTable", "DefaultEndpointsProtocol=https;AccountName=europe;AccountKey=...")
    [...]
  })
  [...]

像往常一样,所有配置的设置,也可以通过GlobalConfiguration类的各个成员,以编程的方式读取和写入。

Service Id是用于标识服务的任意ID。对于所有的集群和所有的silo,它必须相同。

MultiClusterNetwork部分是可选的 —— 如果不存在,则针对此silo,禁用所有的多集群支持。

必需的参数 ClusterIdGossipChannel,在上一节的多群集通信中进行了说明。

可选的参数MaxMultiClusterGatewaysBackgroundGossipInterval ,在上一节的多群集通信中进行了说明。

可选的参数DefaultMultiCluster,在多群集配置一节中进行了说明。

可选的参数UseGlobalSingleInstanceByDefault, GlobalSingleInstanceRetryIntervalGlobalSingleInstanceNumberRetries,在全局单实例grain一节中进行了说明。

Orleans客户端配置

Orleans客户端无需额外配置。同一客户端不可以连接到不同群集中的silo(silo拒绝在此情况下的连接)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值