在中实现Actor模型有哪些不同的方法。NET?我相信很多没有经验的人都不知所措。为此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。
003010(实现领域驱动设计)的作者沃恩弗农发表了Dotsero,这是一个基于。NET用C#编写,其实现参考了Akka API。Akka工具包是Actor模型的一个实现。到目前为止,有对应于Java和Scala版本的API。
今年早些时候,微软研究院还发布了基于Actor模型的框架预览版——奥尔良框架。该框架采用云编程模型,编写该框架的目的是为了最大限度地减少创建交互服务时面临的挑战,而交互服务往往需要很高的可扩展性和可靠性。
奥尔良团队认为,尽管Actor平台Erlang和Akka在简化分布式系统编程方面向前迈进了一步,但它们的复杂性仍然很高,因为它们提供了相对低级的抽象和系统服务。开发人员必须成为分布式系统的专家,然后才能使用这些工具来创建正确的解决方案。为了避免这些复杂性,吸引主流开发者,奥尔良团队提高了Actor的抽象级别。尽管它仍然基于Actor模型,但它不同于任何基于Actor模型的现有平台,因为它将Actor视为抽象的而不是物理的实体。
最近,沃恩在推特上与奥尔良项目负责人、微软研究部的谢尔盖比科夫进行了讨论。沃恩认为奥尔良本质上不是一个基于Actor模型的实现,部分原因是它缺少支持有限状态机(FSM)的“成为”和“不成为”方法,沃恩认为这是Actor最初定义的必要组成部分。同时,他也认为由于Actor一直存在于奥尔良,当客户提出不应该存在的Actor的请求时,它很难意识到这一点,从而容易引发问题。
谢尔盖在回应中表示,成为只是解读定义的一种方式,并不是演员模式的必要组成部分。从他的经验来看,因为《演员在奥尔良》一直存在,所以减少了比赛状态的发生,简化了恢复操作。从这方面来说,可能出现问题的可能性比沃恩说的要小得多。如果Actor不存在,可以通过从应用程序逻辑返回错误状态来处理它。虽然他承认这种方法并不理想,但在创作《演员》时,它仍然优于比赛条件。
最近,Azure的微软MVP Richard Astbury创建了一个简单的物联网网关应用来展示他对奥尔良的看法,即奥尔良可以帮助开发者创建大规模、低延迟、适应性强的应用。NET应用程序。理查德说,虽然这只是一个简单的例子,但它已经包含了创建更复杂场景所需的各种基本构件。
看完以上内容,你是否掌握了在中实现Actor模型的不同方式。NET?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/94848.html