《通过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】

640?wx_fmt=png

这次要说一下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

640?wx_fmt=png

可能你觉得就是一个控制台输出个Hello World,转了这么多弯;不要小看它,这可是一个支持分布式的Hello World,来看看后面经历了或可能经历了什么?

640?wx_fmt=png

注意上图中的Event,我们在后面了解中会遇到他们。可运行上面的代码,并调试,会发现ReceiveAsync会在pid.Tell后被调用两次,第一次Context.Message就是Started对象,第二次才是Hello对象。

不防在Main中调用一下pid.Stop(),跟踪一下ReceiveAsync会有什么发现……

相关文章:

原文链接:https://www.cnblogs.com/axzxs2001/p/9538313.html

 
 

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值