首页 > 代码库 > 高并发解决方案之Actor——第一节
高并发解决方案之Actor——第一节
还在为状态的并发控制而痛苦吗?
还在因为数据库瓶颈而痛苦吗?
还在因为缓存的实时性控制而痛苦吗?
还在为了想分布式,但又不知道怎么下手而痛苦吗?
Actor欢迎你!!!
一、什么是Actor?
Actor提供了一个简单的方式来构建分布式大规模的应用程序,而不需要学习和应用复杂的并发性控制。
java和Scala的框架有Akka,.NET平台有Orleans,Akka.net,Service Fabric。以上几个框架都使用简单,易于上手,只需要稍微熟悉下就能开码。
Actor是分布式存在的内存状态及单线程计算单元,一个Id对应的Actor只会在集群种存在一个(有状态的 Actor在集群中一个Id只会存在一个实例,无状态的可配置为根据流量存在多个),使用者只需要通过Id就能随时访问不需要关注该Actor在集群的什么位置。单线程计算单元又保证了消息的顺序到达,不存在Actor内部状态竞用问题。
这个特性让你可以很容易的开发一套高并发分布式的高拓展系统,而且不用关注并发和分布式控制。
Actor是永久存在的,一段时间没有消息,Actor会失活,从内存中释放,但只要有消息就会马上激活,但激活过程对访问者透明。
这个特性能很好的利用系统资源,而且提供了很友好的拓展,开发者可以在Actor失活时做一些自定义操作(例如保存状态),在激活时也可以做自定义操作(例如加载状态)
Actor和DDD,CQRS,Event Soucing设计模型有天然的融合性,基于Actor可以很好的进行以上实践.
最近项目中使用Actor和DDD,CQRS,Event Soucing设计模型开发了一套实时交易系统(无事务无锁),团队计划开源底层框架。但在发布框架前先做一些预热,会先不定期的更新一些博文,从各个角度来介绍Actor及实践案例。
高并发解决方案之Actor——第一节
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。