当前位置: 首页 > news >正文

Orleans 配置方式时序图

UseOrleansClient 配置流程

应用程序HostBuilderOrleansClientGenericHostExtensionsClientBuilderDefaultClientServicesIClusterClientHost.CreateDefaultBuilder(args).UseOrleansClient(clientBuilder => ...)UseOrleansClient(configureDelegate)检查 HasOrleansSiloBuilder设置 HasOrleansClientBuilder = "true"ConfigureServices((ctx, services) => ...)AddOrleansClient(services, configuration)new ClientBuilder(services, config)AddDefaultServices(this)注册 IClusterClient注册 ClientMessageCenter注册 ConnectionManager注册序列化服务返回配置好的 Host.Build()创建 IClusterClient 实例客户端连接到 Orleans 集群只能调用 Grain 方法应用程序HostBuilderOrleansClientGenericHostExtensionsClientBuilderDefaultClientServicesIClusterClient

UseOrleans 配置流程

应用程序HostBuilderOrleansSiloGenericHostExtensionsSiloBuilderDefaultSiloServicesSiloIClusterClientHost.CreateDefaultBuilder(args).UseOrleans(siloBuilder => ...)UseOrleans(configureDelegate)检查 HasOrleansClientBuilder设置 HasOrleansSiloBuilder = "true"ConfigureServices((context, services) => ...)AddOrleansCore(services, configuration)new SiloBuilder(services, config)AddDefaultServices(this)注册所有客户端服务注册 Silo 实例注册 Catalog注册 LocalGrainDirectory注册 MessageCenter注册 MembershipService注册存储提供程序注册流提供程序返回配置好的 Host.Build()创建 Silo 实例创建内置 IClusterClientSilo 作为集群节点运行可以承载和执行 Grain内置客户端用于内部通信应用程序HostBuilderOrleansSiloGenericHostExtensionsSiloBuilderDefaultSiloServicesSiloIClusterClient

配置互斥性检查流程

应用程序HostBuilderOrleansClientGenericHostExtensionsOrleansSiloGenericHostExtensionsOrleansConfigurationException尝试同时配置客户端和 Silo.UseOrleansClient(...)UseOrleansClient()设置 HasOrleansClientBuilder = "true".UseOrleans(...)UseOrleans()检查 HasOrleansClientBuilder抛出 GetOrleansClientAddedException()"Do not call both UseOrleansClient with UseOrleans...".UseOrleans(...)UseOrleans()设置 HasOrleansSiloBuilder = "true".UseOrleansClient(...)UseOrleansClient()检查 HasOrleansSiloBuilder抛出 GetOrleansSiloAddedException()"Do not call both UseOrleansClient with UseOrleans..."alt[先配置 UseOrleansClient][先配置 UseOrleans]应用程序HostBuilderOrleansClientGenericHostExtensionsOrleansSiloGenericHostExtensionsOrleansConfigurationException

UseLocalhostClustering 配置差异

IClientBuilder/ISiloBuilderClientLocalhostConfigSiloLocalhostConfigEndpointOptionsClusterOptionsUseLocalhostClustering(gatewayPort, serviceId, clusterId)UseLocalhostClustering(gatewayPorts[], serviceId, clusterId)UseStaticClustering(gatewayEndpoints[])配置静态集群连接仅配置网关端口设置服务ID和集群IDUseLocalhostClustering(siloPort, gatewayPort, primarySiloEndpoint, serviceId, clusterId)Configure<EndpointOptions>()设置 AdvertisedIPAddress = Loopback设置 SiloPort设置 GatewayPortUseDevelopmentClustering()Configure<ClusterOptions>()设置 ServiceId设置 ClusterId配置完整的 Silo 端点配置开发集群设置主 Silo 端点alt[客户端配置 (IClientBuilder)][Silo 配置 (ISiloBuilder)]IClientBuilder/ISiloBuilderClientLocalhostConfigSiloLocalhostConfigEndpointOptionsClusterOptions

运行时启动流程对比

应用程序HostIClusterClientSiloOrleans 集群host.StartAsync()启动客户端连接到集群网关返回可用 Silo 列表客户端就绪启动完成轻量级启动仅建立连接快速就绪host.StartAsync()启动 Silo初始化运行时组件启动消息中心启动目录服务启动成员服务加入集群确认成员身份启动 Grain 目录启动存储提供程序启动流提供程序Silo 就绪启动完成重量级启动完整运行时初始化较慢但功能完整alt[客户端启动流程][Silo 启动流程]应用程序HostIClusterClientSiloOrleans 集群

服务注册差异对比

UseOrleansClient
UseOrleans
HostBuilder
配置类型
ClientBuilder
SiloBuilder
DefaultClientServices
DefaultSiloServices
客户端服务
Silo 服务
IClusterClient
ClientMessageCenter
ConnectionManager
序列化服务
日志服务
所有客户端服务
Silo 实例
Catalog
LocalGrainDirectory
MessageCenter
MembershipService
存储提供程序
流提供程序

这些时序图清晰地展示了两种配置方式在初始化、服务注册、运行时行为等方面的差异,帮助开发者更好地理解何时使用哪种配置方式。

http://www.dtcms.com/a/526267.html

相关文章:

  • 网站建设 空间杭州 电子商务网站建设 网络服务
  • 有哪些图片设计网站有哪些问题网站权重最高
  • 怎样上传网站到百度wordpress 文章截取
  • 网站建设120wordpress左右
  • 如何上传网站模板如何评价一个网站设计的好坏
  • 苏州做网站费用东莞模板建站平台
  • 个人资质网站做推广wordpress漏洞 2014
  • 小型企业网站建设项目网站整合方案
  • 波音网站开发四川省住房建设厅官网
  • 丰城网站建设厦门专业网站营销
  • 黄山建设网站公司电话号码WordPress程序漏洞
  • 企业网站制作app登录wordpress
  • 门户网站建设 简报上海市工程建设质量管理协会网站
  • 全面解析网站建设及报价企业电子商务网站建设(论文
  • 网站内链案例常德论坛尚一网
  • Kylin Linux Advanced Server V10 上成功安装 NVIDIA Container Toolkit
  • 做货代在哪个网站找客源北京丰台做网站
  • 含山县住房和城乡建设局网站wordpress demo iframe
  • 新能源知识库(119)巴拿马电源和固态变压器两种方案的场景比较
  • 企业网站搭建新感觉建站网站页中繁体转移代码
  • KTH7112 是一款高速高精度的磁编码器,在轴应用,校准后 INL 精度 < ±0.1°
  • 品牌创意型网站建设哪些公司做网站比较好
  • SaaS系统多租户架构设计与核心技术实践
  • 茶山网站仿做寻找网站建设员
  • 动态线程池
  • 西安网站设计报价燃烧学课程网站建设
  • 网站js特效悬浮框建造师二级报名入口
  • 云脑网络科技网站建设深夜小网站
  • wordpress discuz建站广州新冠最新情况
  • 使用帝国备份王搬迁织梦网站网站改域名