|
|
51CTO旗下网站
|
|
移动端

2.3.6.3 服务分区和故障恢复

《Microsoft Azure 管理与开发(下册)平台服务PaaS》本书由世纪互联蓝云Microsoft Azure 开发技术支持团队的资深工程师们编写,主要阐述MicrosoftAzure PaaS 服务的开发应用,涉及计算服务、集成认证服务、数据存储服务、大数据服务等方面的内容。本节为大家介绍服务分区和故障恢复。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-12 18:02

2.3.6.3 服务分区和故障恢复

在Reliable Service 章节中,了解到这种服务类型可以允许选择分区方案,例如设置分区键的范围和分区计数。而Reliable Actors 则只能使用一种分区方案,那就是UniformInt64Partition,在默认情况下,Actor 会被随机放到分区中,形成统一分布,如图2.3.6-7。

Reliable Actors 在创建Actor 时,会生成一个与之关联的***ID,并且使用ActorId 类表示,ActorId 是一个不透明的ID 值,可以随机生成,也可以自定义ID 值,Reliable Actors会使用Hash 算法将ActorId 转换为Int64 类型值,之后通过转换后的Int64 值来映射到相应的分区。因此Reliable Actors 只能够使用UniformInt64Partition 分区方案。

随机生成ActorId,代码示例:

  1. ActorProxy.Create<IMyActor>(ActorId.CreateRandom()); 

自定义ActorId,代码示例:

  1. ActorProxy.Create<IMyActor>(new ActorId(Guid.NewGuid()));  
  2. ActorProxy.Create<IMyActor>(new ActorId("myActorId"));  
  3. ActorProxy.Create<IMyActor>(new ActorId(1234)); 

当自定义ActorId 值时,可以使用Guid、字符串和Int64 数字。当使用Guid,字符串都会经过Hash 算法转换成Int64;当直接使用Int64 作为ActorId 时,就不再进行Hash 算法转换,Reliable Actors 将直接使用该值映射分区。所以如果想要手动控制Actor 所在分区时,可以使用该方法来设置。

Reliable Actors 故障恢复与Reliable Service 是类似的,在Reliable Actors 服务中,每个Actor 都存在多个副本,但只有主副本工作,多个副本的状态数据会进行同步。当主副本出现问题时,就会选择一个副本作为新的主副本,并在新副本中启动Actor,然后还原状态。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

标准C++开发入门与编程实践

本书着重介绍标准C++语言,即1998年由ISO正式推出的关于C++的国际性标准版本。 本书从最基础的编程语言概念讲起,共分6篇24章。前4篇完整...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客