actor本身要解决的问题是
并行计算 单机多核 或者多台机器的分布式计算
采用的是消息机制 异步
actor模型的目的是 寻找能并行、分布计算的最小颗粒(我们本身使用的tomcat其实已经为每个访问者分配了一个请求的资源,但是粒度过大,而且后续都是阻塞式的处理过程)
如果一个公司事情来不及做 那么有两种方法,对现有的员工进行培训 这种方法是有瓶颈的 因为每个人的能力是有限的
还有一种方法是 多招人进来 这种方法的瓶颈是 资源或资金 但是是可以无限扩展的
在有很多人手的前提下 把工作细合理的分成很多份 分配给不同的人处理 最后汇总 当然效率会高
一个优良的架构应该同时具备以上的两点
actor对我们现有架构来说
解决了空间上的解耦(actor之间除了常量不共享任何东西)
解决了时间上的解耦
可以解决很多性能的瓶颈(基于多核 分布)
(当然tomcat也可以解决分布,但是代价可能是将最大粒度的应用级别的程序同样部署在两台服务器上)
目前觉得新架构在
模块内 应该有相当于 人脑及神经系统(我认为的actor在我们新架构中的位置)的 总actor(状态监控、组合行为处理‘手脚并用’、事务处理) 按粒度划分 有手 脚 眼睛 鼻子 之类的 处理actor
对于模块来说 最细粒度的应该是基于函数式编程的 function(可包含针对性能瓶颈的actor)
模块间应该是 主actor和主actor之间的交流 完成相应行为
当然分布是相对的 如果有外部系统未知对我们整个系统有异构方面的需求
最好有类似于 消息总线的发布通讯模块来规范的组织 及 监控所有模块的状态 及 模块组合行为(一个人切菜,另一个人烧菜)...
以上是简单的阐述 但有很多难点
如:怎样真正做到函数式编程 完全没有副作用是否就是没有现实作用
模块间或者组合行为的事务机制 分布式事务
定制actor的正确场景
好在 我们做的是产品...量身定做是目的...
分享到:
相关推荐
Guzzler:流式传输 MySQL 二进制日志并对其采取行动Guzzler 已被取代Guzzler 允许您从 master 流式传输 MySQL 二进制日志,并允许您使用 Scala actor(消费者)对它们进行操作。 消费者可以在 guzzler.conf 中与其余...
scala-actors-2.10 jar包,可以解决 scala-actors-2.10以上版本带来的不兼容问题
响应式架构 消息模式Actor实现与Scala.Akka应用集成 响应式架构 消息模式Actor实现与Scala.Akka应用集成
用Scala写的akka actor简单demo,已经打包成SBT程序,因为上传大小限制依赖包没上传,用户安装了sbt后只需要执行update命令即可
消息模式Actor实现与Scala、Akka应用集成
响应式架构++消息模式Actor实现与Scala.Akka应用集成+,沃恩·弗农+
《响应式架构:消息模式Actor实现与Scala、Akka应用集成》由10章构成,详细介绍了使用Actor模型中的响应式消息传输模式的理论和实用技巧。其中包括:Actor模型和响应式软件的主要概念、Scala语言的基础知识、Akka...
响应式架构 消息模式Actor实现与Scala.Akka应用集成_沃恩·弗农_PDF:PDF电子版_2016.07_417_14043812的电子版。
【课程大纲】 第1讲-Spark的前世今生 共12页 第2讲-课程介绍、特色与价值 共13页 第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 ...第21讲-Scala编程详解:Actor入门 共8页
《Scala编程》介绍了一种新的编程语言,它把面向对象和函数式编程概念有机地结合为整体,从而形成一种完整统一、语义丰富的新思维体系。《Scala编程》循序渐进,由浅入深,经作者精心组织、仔细编排,将语言中的各种...
响应式架构 消息模式Actor实现与Scala.Akka应用集成 高清扫描版
Akka scala 并发 actor 高清原版pdf 学习scala实现akka进行并发编程
响应式架构 消息模式Actor实现与Scala.Akka应用集成 ,沃恩·弗农
akka集群,scala函数式编程。
scala是一种基于JVM的面向对象的函数编程,scala编程相对于java而言代码整洁、开发效率更高。 其中scala优点主要有: ...4:支持并发控制,Actor Model机制 5:目前比较流行的kafka,spark均由scala开发。
in Scala’s standard library. Our goal is that byreading this book, you can learn everything you need to buildefficient, scalable, and robust concurrent software for the JVM, productively,usingactors....
这相当于是 Scala 的 Actor 的纯 Java 版本。 示例代码: // Create a mailbox factory with a pool of 10 threads. MailboxFactory mailboxFactory = JAMailboxFactory.newMailboxFactory(10); // Create and ...