《通过C#学Proto.Actor模型》之 HelloWorld
在微服务中,数据最终一致性的一个解决方案是通过有状态的Actor模型来达到,那什么是Actor模型呢?
Actor是并行的计算模型,包含状态,行为,并且包含一个邮箱,来异步处理消息。
关于Actor的介绍可参考:
https://www.jianshu.com/p/449850aa8e82
https://www.jianshu.com/p/db04cab86ab9
对于.net下的Actor模型有akka.net, Microsoft Orleans,在这里我们介绍的是另外一个Actor模型Proto.Actor 【官网http://proto.actor】
这次要说一下Proto.Actor,关于Proto.Actor的资料较少,这里有一篇可以作简单入门
https://studygolang.com/p/protoactor
为了便于开码友们理解,这个系列就以代码为主来学习,通过代码来“意会”Proto.Actor,所以这个系列叫《通过C#学Proto.Actor模型》,并且这些例子都是参考官方案例进行改造的最基础代码;从易到难,从单一技术点到组合技术点,再从伪代码到Demo代码,一步一步来。就像我一样,前期可能会一头雾水,不过没关系,坚持走下去,在某个转弯处,肯定会柳暗花明,豁然开朗。
Proto.Actor特点是:异步,分布式,高并发,高容错性,跨语言调用
系统博客Github地址:https://github.com/axzxs2001/ProtoActorSample
通过C#学Proto.Actor模型系列:
1. 《通过C#学Proto.Actor模型》之 HelloWorld
https://www.cnblogs.com/axzxs2001/p/9538313.html
2. 《通过C#学Proto.Actor模型》之Prpos
https://www.cnblogs.com/axzxs2001/p/9540265.html
3. 《通过C#学Proto.Actor模型》之Spawning
https://www.cnblogs.com/axzxs2001/p/9546030.html
4. 《通过C#学Proto.Actor模型》之PID
https://www.cnblogs.com/axzxs2001/p/9552186.html
5. 《通过C#学Proto.Actor模型》之Mailbox
https://www.cnblogs.com/axzxs2001/p/9558040.html
6. 《通过C#学Proto.Actor模型》之Supervision
https://www.cnblogs.com/axzxs2001/p/9564010.html
7. 《通过C#学Proto.Actor模型》之Behaviors
https://www.cnblogs.com/axzxs2001/p/9569146.html
8. 《通过C#学Proto.Actor模型》之Persistence
https://www.cnblogs.com/axzxs2001/p/9569899.html
9. 《通过C#学Proto.Actor模型》之Remote
https://www.cnblogs.com/axzxs2001/p/9570640.html
请注意代码注释,不可忽略哦!
《通过C#学Proto.Actor模型》之 HelloWorld:
代码:https://github.com/axzxs2001/ProtoActorSample/tree/master/ProtoActorSample/P001_HelloWorld
引用NuGet:Proto.Actor
可能你觉得就是一个控制台输出个Hello World,转了这么多弯;不要小看它,这可是一个支持分布式的Hello World,来看看后面经历了或可能经历了什么?
注意上图中的Event,我们在后面了解中会遇到他们。可运行上面的代码,并调试,会发现ReceiveAsync会在pid.Tell后被调用两次,第一次Context.Message就是Started对象,第二次才是Hello对象。
不防在Main中调用一下pid.Stop(),跟踪一下ReceiveAsync会有什么发现……
相关文章:
下一代的 Actor 模型框架 Proto Actor
使用DDD、事件风暴和Actor来设计反应式系统
Akka系列---什么是Actor
视频游戏《光环4》的Actor模型设计和实现
.NET的Actor模型:Orleans
原文链接:https://www.cnblogs.com/axzxs2001/p/9538313.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
《通过C#学Proto.Actor模型》之 HelloWorld相关推荐
- 下一代的 Actor 模型框架 Proto Actor
ProtoAct 是下一代的 Actor 模型框架,提供了 .NET 和 Go 语言的实现,默认支持分布式,提供管理和监控功能.在过去几年,我们经常看到两种 Actor 模型方法相互竞争,首先是经典的 ...
- 漫谈并发编程:Actor模型
0x00 前言 一般来说有两种策略用来在并发线程中进行通信:共享数据和消息传递.熟悉c和java并发编程的都会比较熟悉共享数据的策略,比如java程序员就会常用到java.util.concurren ...
- actor 模型 锁 java_漫谈并发编程:Actor模型
0x00 前言 一般来说有两种策略用来在并发线程中进行通信:共享数据和消息传递.熟悉c和java并发编程的都会比较熟悉共享数据的策略,比如java程序员就会常用到 java.util.concurre ...
- actor 模型原理 (一)
actor模型很牛逼,很流行,但是我不会,妈的,国内搜出来的讲解actor的都看不太懂,讲不太清,下面哥们就翻译一下老外的文章,以粗浅的方式体会一下到底什么是actor模型? 多线程开发要处理并发,锁 ...
- actor 模型原理 (二)
现在开始研究一下akka的actor模型是怎么实现的: 老外写了一个程序说明actor的工作机制,下图就是学生给老师发邮件的具体示意图,那么1-6一共6个步骤 1.学生创建actor system , ...
- 用JAVA实现基于Actor模型的RPC
基于Actor模型的RPC ReleaseNote 使用protostuff序列化(.proto文件编写恶心,与Protocol Buffer性能几乎接近) 使用Netty进行通讯(同节点RPC不走网 ...
- 深入解析actor 模型(一): actor 介绍及在游戏行业应用
1 介绍 1.1 什么是actor 对于刚接触actor的我,第一感觉就像redis一样,每个actor就是一个redis 实例,都有自己消息队列,actor相互通信通过将消息发给对方,消息发送进对方 ...
- 在.NET中实现Actor模型的不同方式
上周,<实现领域驱动设计>(Implementing Domain-Driven Design)一书的作者Vaughn Vernon,发布了Dotsero,这是一个使用C#编写的.基于.N ...
- java actor模型实例,详解Theron通过Actor模型解决C++并发编程的一种思维
现今,单台机器拥有多个独立的计算单元已经太常见了,这点在服务器的处理器上表现尤为明显,据AMD的一张2012-2013服务器路线图显示,服务器处理器的核心数将在2013年达到20颗之多,合理的利用CP ...
最新文章
- 摩尔投票法(力扣- -229. 求众数 II)
- 【渝粤教育】国家开放大学2018年秋季 2405T现代汉语(1) 参考试题
- 【转】图文详解YUV420数据格式
- 对HashMap对象的键值对内容进行排序
- 【Flink】Flink 1.9 升级 到 flink 1.12.4 报错 flink.client.cli.AbstractCustomCommandLine <init>
- LVS-NAT工作模式的实现
- 从大整数乘法的实现到 Karatsuba 快速算法
- [linux]linux IO 5种方式
- InnoDB缓存相关优化
- QML Text 文字元素
- java宠物商店_Java实现宠物商店管理系统
- 液晶屏LED背光板可以分为几类?
- 定时备份网站数据文件到阿里网盘
- c/c++原子锁应用(跨平台)
- 苹果手机的定向广告时代告终
- Springboot +AOP日志系统
- 《山海经——五藏山经》
- 网络信息安全:消息认证
- 为什么收藏了这么多3D游戏建模教程,还是没达到可以就业接包的水准?
- 诺基亚NoKia 8250维修笔记