actor本身要解决的问题是
并行计算 单机多核 或者多台机器的分布式计算
采用的是消息机制 异步
actor模型的目的是 寻找能并行、分布计算的最小颗粒(我们本身使用的tomcat其实已经为每个访问者分配了一个请求的资源,但是粒度过大,而且后续都是阻塞式的处理过程)
如果一个公司事情来不及做 那么有两种方法,对现有的员工进行培训 这种方法是有瓶颈的 因为每个人的能力是有限的
还有一种方法是 多招人进来 这种方法的瓶颈是 资源或资金 但是是可以无限扩展的
在有很多人手的前提下 把工作细合理的分成很多份 分配给不同的人处理 最后汇总 当然效率会高
一个优良的架构应该同时具备以上的两点
actor对我们现有架构来说
解决了空间上的解耦(actor之间除了常量不共享任何东西)
解决了时间上的解耦
可以解决很多性能的瓶颈(基于多核 分布)
(当然tomcat也可以解决分布,但是代价可能是将最大粒度的应用级别的程序同样部署在两台服务器上)
目前觉得新架构在
模块内 应该有相当于 人脑及神经系统(我认为的actor在我们新架构中的位置)的 总actor(状态监控、组合行为处理‘手脚并用’、事务处理) 按粒度划分 有手 脚 眼睛 鼻子 之类的 处理actor
对于模块来说 最细粒度的应该是基于函数式编程的 function(可包含针对性能瓶颈的actor)
模块间应该是 主actor和主actor之间的交流 完成相应行为
当然分布是相对的 如果有外部系统未知对我们整个系统有异构方面的需求
最好有类似于 消息总线的发布通讯模块来规范的组织 及 监控所有模块的状态 及 模块组合行为(一个人切菜,另一个人烧菜)...
以上是简单的阐述 但有很多难点
如:怎样真正做到函数式编程 完全没有副作用是否就是没有现实作用
模块间或者组合行为的事务机制 分布式事务
定制actor的正确场景
好在 我们做的是产品...量身定做是目的...
分享到:
相关推荐
### 关于《Scala中的Actor模型》 #### 一、引言 《Scala中的Actor模型》是一本由Philipp Haller和Frank Sommers合著的专业书籍,该书详细介绍了Scala语言中Actor模型的基础理论与实际应用。Philipp Haller不仅是...
Guzzler:流式传输 MySQL 二进制日志并对其采取行动Guzzler 已被取代Guzzler 允许您从 master 流式传输 MySQL 二进制日志,并允许您使用 Scala actor(消费者)对它们进行操作。 消费者可以在 guzzler.conf 中与其余...
### Scala编程基础之Actor并发编程 #### 一、Scala Actor并发编程概述 ##### 1.1 什么是Scala Actor 在Scala中,Actor是一种强大的并行编程模型,它基于事件驱动和消息传递机制。通过Actor,我们可以更加简洁和...
《Scala中的Actor模型》 标题:“Actors in Scala.pdf” 描述:“Actors in Scala” 标签:“scala” 部分内容:本部分提供了书籍《Scala中的Actor模型》的预印版介绍,包括作者信息、出版背景以及读者参与反馈...
标题中的“用Scala写的akka actor简单demo”指的是一个使用Scala编程语言编写的Akka Actor系统的基本示例。Akka是轻量级、基于actor模型的框架,它用于构建高度并发、分布式和容错的应用程序。Scala是多范式编程语言...
scala-actors-2.10 jar包,可以解决 scala-actors-2.10以上版本带来的不兼容问题
消息模式的Actor实现是响应式架构中的一个重要组件,而Akka框架则是Scala语言中实现这一模式的首选工具。 Akka是由Lightbend公司开发的一个开源框架,专门用于构建高度并发、分布式和容错的系统。它基于Actor模型,...
3. **非阻塞性**:Scala Actor设计为非阻塞,这意味着Actor在处理消息时不会阻塞其他Actor的执行。 4. **容错性**:Scala Actor提供了一种简单的机制来处理Actor失败的情况,可以轻松地实现故障恢复。 #### 五、...
根据提供的文件信息,我们可以提炼出几个关键知识点,重点聚焦于“响应式架构”、“消息模式Actor”以及“Scala”和“Akka应用集成”。虽然提供的内容部分并非技术性内容,而是与电子版图书获取相关的信息,但我们仍...
这意味着它可能是Scala生态系统中的一个专门针对actor测试的库或框架,帮助开发者编写和执行针对actor的单元测试。 **文件名称列表解析:** 压缩包内的文件夹"css"和"js"暗示了UIkit的核心组成部分。"css"可能包含...
在《响应式架构++消息模式Actor实现与Scala.Akka应用集成+》中,作者沃恩·弗农深入探讨了如何利用Akka和Scala来构建响应式的应用程序。他可能详细讲解了以下知识点: 1. **Actor系统**:介绍Akka中的Actor系统是...
#### 三、Scala与Actor模型的实现 Scala语言提供了一系列高级抽象机制,使其成为实现在JVM上Actor模型的理想选择。**Scala**结合了面向对象编程和函数式编程的特点,允许开发人员使用简洁而强大的语法来实现复杂的...
Scala编程详解:Actor入门 Scala中的Actor模型是其并发编程的核心机制,它是基于消息传递的并发模型,旨在解决多线程编程中常见的竞态条件、死锁等问题。Actor系统允许程序在安全的环境中并行运行,通过异步消息...
在Scala中,创建和使用Actor非常直观,可以利用ActorSystem来启动和管理Actor,通过定义消息类型和Actor的行为来实现业务逻辑。 在响应式架构中,Actor模型扮演着关键角色,因为它们能够有效地处理异步事件,这正是...
10. **Actor模型**:Akka库是Scala中的并发和分布式计算框架,基于Actor模型,使得编写高性能、容错的应用程序变得简单。 11. **Dotty/Scala 3**:虽然Scala-2.12.3是当前版本,但Scala社区正在开发下一代Scala,即...
《响应式架构:消息模式Actor实现与Scala、Akka应用集成》由10章构成,详细介绍了使用Actor模型中的响应式消息传输模式的理论和实用技巧。其中包括:Actor模型和响应式软件的主要概念、Scala语言的基础知识、Akka...
- **Actor系统(Actor System)**:Actor系统的概念类似于进程或线程的概念,但它是Akka中的核心组件,用于管理Actor的生命周期。 - **Actor References, Paths and Addresses**:Actor之间的通信是通过发送消息完成...