Apache Pekko:使用 Actor 模型简化并发开发

Apache Pekko:使用 Actor 模型简化并发开发

Apache Pekko 是一个开源框架,旨在简化并发、分布式、弹性和弹性应用程序的开发。利用 Actor 模型,Pekko 为并发提供了高级抽象,使开发人员能够专注于业务逻辑而不是低级实现细节。它起源于 Akka 2.6.x 的一个分支,在 Akka 采用 Business Source 许可证之前。两年前,Pekko进入了Apache软件基金会的孵化阶段,去年它发布了1.0版本,而最新版本是1.0.2。

现代计算机架构带来了一些挑战,例如组件崩溃、消息丢失和网络延迟波动,即使在管理良好的数据中心环境中也是如此。Pekko 通过提供多线程行为来解决这些挑战,而不需要原子或锁等低级并发结构。它还通过提供透明的远程通信功能来简化系统及其组件之间的通信。这消除了开发人员编写和维护复杂网络代码的需要,并提供了一个集群的高可用性架构,该架构可根据需求动态扩展,从而能够创建弹性和可扩展的应用程序。

Pekko 所基于的 actor 模型提供了一定程度的抽象,简化了正确的并发、并行和分布式系统的开发。Actor 是 Pekko 中的基本计算单位,它封装了 actor 引用背后的状态、行为、邮箱、子 actor 和 supervisor 策略。这种抽象允许开发人员从参与者之间的通信的角度来考虑他们的代码,类似于大型组织中的交换。

在 actor 模型中,actor 通过相互发送消息进行通信,而无需传输执行线程。与传统方法调用相比,这种非阻塞通信使参与者能够在相同的时间内完成更多工作。执行组件的行为与对象类似,因为它们对消息做出反应,并在处理完当前消息后返回执行。在收到消息后,Actor 可以执行以下三个基本操作:向它知道的 Actor 发送有限数量的消息;创建有限数量的新 Actor;并指定要应用于下一条消息的行为。

下图描述了 Pekko actor 层次结构:
在这里插入图片描述
Pekko 被设计为模块化应用程序,包含不同的模块以提供可扩展性。主要组件包括:Pekko Persistence 使参与者能够持久化事件,以便在发生故障时或在集群内迁移期间进行恢复,该集群为开发事件源应用程序提供抽象;Pekko Streams 模块为流处理提供了解决方案,无缝地整合了背压处理,并确保与其他 Reactive Streams 实现的互操作性;连接器模块包括用于与其他系统(如 Kafka 和 Cassandra)集成的连接器;Http 和 gRPC 模块提供 HTTP 和 gRPC 功能,以及一系列用于操作和管理 Pekko 集群的不同实用程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值