orleans2.0 官方文档翻译,给大家学习ol一个参考

本人也是英文盲,,翻译不对的地方请谅解。由于翻译内容较多,会慢慢更新

orleans简称ol,一些专用词不做翻译。先决条件,读这表文章之前需要了解:actor,es,cqrs

参考链接:

https://www.cnblogs.com/netfocus/p/4150084.html

http://www.infoq.com/cn/articles/microservices-aggregates-events-cqrs-part-1-richardson

https://studygolang.com/articles/6250

一.基础开始:

1.使用ol的必要条件:ol是一个来自NuGet的类库。你需要 .NET Core 2.0以上和.NET Framework 4.6.1以上版本才能使用它。在.net core 下ol可以windows,Linux,MacOS下运行。

目前ol是在windows上测试的,但是许多用户在非Windows平台上也成功运行了ol。

开发工具,建议使用Visual Studio 2017或更高版本。

在生产环境中,为了可靠的集群成员关系,ol需要持久化存储。你可以选择一下其中一种

Azure Table Storage 8.2.1 以上版本
SQL Server 2008 以上版本
ZooKeeper 3.4.0 以上版本
MySQL 5.0 以上版本
PostgreSQL 9.5 以上版本
Consul 0.7.0 以上版本
DynamoDB

还有一种办法是使用Azure的service fabric

2.Grains

grains是ol编程模型的关键因素,grains构成了ol应用,它是隔离的,持久的,分布的。grain就好比.net中的实体对象。grain之间可以通过接口相互调用。

ol的目标是大大简化构建可伸缩应用程序的难度并避免了大多数并发性问题,grain之间不共享事例,只能通过消息传递。每个grain保证单线程运行

一个典型grain有状态和行为(例如特定的用户或方法或会话)

每一个grain都有一个唯一标识,也称为grain主键。主键可以试long,string ,guid。

如何访问一个grain

一个grain类实现一个或多个grain接口,要调用一个grain,调用者需要知道grain类实现的接口,该接口包括调用者想要调用的方法和目标grain的唯一标识。

例如,如果使用电子邮件作为唯一标识,则可以调用用户配置grain来更新用户地址。

var user = grainFactory.GetGrain<IUserProfile>(userEmail);
await user.UpdateAddress(newAddress);

猜你喜欢

转载自www.cnblogs.com/hzzxq/p/9467858.html