Java架构技术进阶Java

为什么现代系统需要新的编程模型Akka

2019-06-20  本文已影响1人  1点25

Akka中最重要的便是actor模型。

几十年前,Carl Hewitt提出了actor模型,以作为在高性能网络下并行处理的一种方式。但是在当时并没有这样的环境,如今硬件和基础设施能力已经赶上并超越了Carl Hewitt当时的预料。所以,那些想构建高性能分布式系统的组织遇到的使用面向对象编程(OOP)模型无法完全解决的挑战,现在可以使用actor模型解决。

如今,actor模型不仅被认为是一种高效的解决方案,而且也已经在世界上一些要求苛刻的应用中得到了验证。为了突出actor模型所能解决的问题,本主题主要讨论传统编程思想与现代多线程多CPU架构之间的不匹配:

封装的挑战

OOP的核心是封装。封装规定对象内的数据不能直接从外部访问,只能调用方法来进行修改。对象需要暴露出一些安全的操作,这些安全操作用来维护其内部数据的约束。

例如,对有序二叉树的操作不得违反二叉树有序的约束。调用者希望排序是完整的,当查询树中某个数据时,他们需要能够依赖这个约束。

当我们分析OOP运行时行为时,我们有时会绘制一个时序图,显示方法调用的交互。

reny125.jpeg
上一篇下一篇

猜你喜欢

热点阅读