Apache Pekko 介绍与选型指南

基于官方下载页与版本支持页梳理 Apache Pekko 多模块组件版本基准、Actor 模型架构与持久化流处理特性、快速上手与 Akka/Erlang OTP 量化选型对比,查询日期 2026-10-18

Apache PekkoApache PekkoJava分布式2026/10/18

Apache Pekko 介绍与选型指南

一、信息基准

1.1 基本信息

  • 查询日期:2026-10-18
  • 本文基准对象:Apache Pekko——多模块 Actor 模型并发与分布式框架,各模块独立版本发布,故本文不挂单一版本号,以"组件-版本基准表"给出官方下载页的各组件最新稳定版
  • 维护方:Apache Software Foundation(顶级项目)
  • 开源许可:Apache License 2.0(官方下载页声明)
  • 项目沿革:官方首页明确"Apache Pekko 是 Akka 2.6.x 在其改用 Business Source License 之前的分叉(fork)",提供 Java 与 Scala 双 API,运行于 JVM

1.2 组件-版本基准表

以下为官方下载页(pekko.apache.org/download.html,查询日期 2026-10-18)列出的各组件最新稳定版(括号内为源码包命名日期):

组件最新稳定版源码包日期
Pekko Core1.7.12026-09-04
Pekko HTTP1.4.12026-09-06
Pekko gRPC1.2.02025-10-18
Pekko Management1.2.12026-03-06
Pekko Connectors1.3.02026-03-10
Pekko Connectors Kafka1.2.02026-08-18
Pekko Persistence Cassandra1.1.02025-01-16
Pekko Persistence DynamoDB1.1.02024-10-20
Pekko Persistence JDBC1.3.02026-06-14
Pekko Persistence R2DBC1.2.02026-06-22
Pekko Projection1.1.02025-02-24
Pekko SBT Paradox1.0.1-incubating2024-03-05

里程碑版本(官方注明仅供测试与库维护者使用,不得用于生产):Core 2.0.0-M4、HTTP 2.0.0-M2、gRPC 2.0.0-M2、Management 2.0.0-M1、Connectors 2.0.0-M1、Connectors Kafka 2.0.0-M1、Persistence JDBC 2.0.0-M1、Persistence R2DBC 2.0.0-M1。

1.3 版本依据与官方来源清单

  • 全部组件版本取自官方下载页原文,jars 以 groupId org.apache.pekko 发布到 Maven Central(官方下载页说明),Core 1.7.1 已在 Maven Central org.apache.pekko:pekko-actor-typed_2.13 版本列表中交叉核验存在。
  • 版本支持策略引自官方 Version Support 页。
来源地址用途
官方首页https://pekko.apache.org/项目定位与分叉沿革
下载页https://pekko.apache.org/download.html组件版本清单
版本支持页https://pekko.apache.org/version-support.html语义化版本与支持策略
入门指南https://pekko.apache.org/docs/pekko/current/typed/guide/introduction.htmlActor 模型与上手路径
Maven Centralhttps://repo1.maven.org/maven2/org/apache/pekko/版本交叉核验

二、软件概述

2.1 软件定位

Apache Pekko 官方定位:用于构建并发、分布式、弹性、可伸缩应用的开源框架。Pekko 以 Actor 模型提供更高层次的并发抽象,并在此之上提供持久化、流处理、HTTP 等库;提供 Java 与 Scala API,运行于 JVM。

2.2 官方强调的三个价值点(引自入门指南)

  • 无需原子变量或锁等底层并发构造即可获得多线程行为,规避内存可见性问题;
  • 系统与组件间透明远程通信,免除自研网络代码;
  • 弹性伸缩的集群高可用架构,支撑反应式系统。

2.3 与 Akka 的关系

官方首页表述:Pekko 是 Akka 采用 Business Source License 之前(2.6.x)的分叉,社区将其延续为 Apache 顶级项目;从 Akka 迁移的官方建议是先迁到 Pekko 1.0.x,再升级到更新的 Pekko 版本(Version Support 页)。

三、核心架构

3.1 Actor 模型与 Core

Core 模块提供 Actor 系统:Actor 是封装状态与行为的并发单元,之间通过异步消息通信;typed API 为官方推荐入口。入门指南指出 Actor 模型贯穿全部 Pekko 库,形成一致的编程模型。

3.2 模块矩阵

  • 通信与集成:Pekko HTTP(服务端/客户端 HTTP)、gRPC、Connectors(外部系统连接器)、Connectors Kafka;
  • 集群运维:Management(集群引导、协调与发现);
  • 持久化:Persistence(事件溯源)及 Cassandra/DynamoDB/JDBC/R2DBC 各存储插件;
  • 读模型:Projection(把事件溯源日志投影为查询侧视图)。

3.3 版本与兼容策略

官方 Version Support 页要点:采用语义化版本 2.0.0;当前各模块版本基本同步发布;1.x 系列在 2.0.0 正式版发布后仅做重要缺陷与安全修复;由于 2.0.x 移除了大量废弃代码,基于 Pekko 1.x 构建的库大概率无法直接运行在 2.0.x 上。

四、功能特性

4.1 并发与分布式

Actor 模型屏蔽锁与内存可见性问题;集群分片(Cluster Sharding)、分布式数据等模式(官方示例样例列表提供 Scala/Java 双版本)支撑横向扩展。

4.2 事件溯源持久化

Persistence 提供事件溯源抽象,按存储后端可选 Cassandra、DynamoDB、JDBC、R2DBC 插件;Projection 支撑 CQRS 读模型构建。

4.3 流处理与集成

以流式 API(Streams)承载数据管道;Connectors 提供面向外部系统的连接器矩阵(完整清单以官方 Connectors 文档为准),Connectors Kafka 专责 Kafka 集成。

4.4 HTTP 与 gRPC

Pekko HTTP 提供服务端与客户端两级 API;gRPC 模块基于流式 RPC 生成 stub 并与 Actor 集成。

五、快速上手

5.1 官方入门路径

官方入门指南推荐首次接触 Pekko 的用户从 Hello World 项目开始:官方提供 Scala 与 Java 两个 Quickstart 模板(apache/pekko-quickstart-scala.g8 与 apache/pekko-quickstart-java.g8),官方表述"约 30 分钟即可跑通 Hello World 示例,理解 actor system、actor 与消息的定义方式以及测试模块和日志用法"。

来源:https://pekko.apache.org/docs/pekko/current/typed/guide/introduction.html

5.2 Maven 依赖

以 Core 的 typed API 为例(Maven Central 实查 org.apache.pekko:pekko-actor-typed_2.13:1.7.1 存在):

<dependency>
    <groupId>org.apache.pekko</groupId>
    <artifactId>pekko-actor-typed_2.13</artifactId>
    <version>1.7.1</version>
</dependency>

说明:Pekko 各组件 jars 以 groupId org.apache.pekko 发布于 Maven Central(官方下载页);完整示例代码请以上述官方 Quickstart 模板为准。本文为纯官方资料溯源整理,未做本地安装与运行实测。

六、适用场景与限制

6.1 适用场景

  • 高并发消息驱动的后端服务:订单处理、IoT 设备会话、风控决策等有状态并发场景;
  • 需要事件溯源 + CQRS 的领域建模系统(Persistence + Projection);
  • 集群分片支撑的水平扩展有状态服务;
  • 从 Akka 2.6.x 迁出、寻求 Apache-2.0 许可可持续性的存量系统。

6.2 限制

  • Actor 模型有学习曲线,消息协议设计不当易引入复杂度;
  • 2.0.x 与 1.x 二进制不兼容(官方 Version Support 页),升级窗口需评估;
  • JVM 框架,非 JVM 语言团队需评估接入成本;
  • 各持久化插件与 Connectors 版本节奏不一,组合升级时需对照各模块 Release Notes。

七、同类选型对比

7.1 候选说明

同类候选选取 Akka(原上游框架,Lightbend 维护)与 Erlang/OTP(Actor 思想源头之一的语言运行时与 OTP 框架),版本数据于 2026-10-18 实查 Maven Central 与 GitHub 官方 releases feed。

7.2 量化对比

维度Apache Pekko(Core 1.7.1)Akka(com.typesafe.akka)Erlang/OTP(OTP 29.1.2)
开源许可Apache-2.02.6.21 及之前为 Apache-2.0;官方(Pekko 官网)表述其此后改用 Business Source LicenseApache-2.0(官方 README 许可节)
GitHub stars 与最近发版stars 官方未公布;Core 源码包 2026-09-04stars 官方未公布;Maven Central 元数据最新上传 2.9.0-M2(里程碑)stars 官方未公布;OTP 29.1.2 发布于 2026-10-14(官方 releases feed)
版本节奏多模块同步发布,1.x 稳定线 + 2.0 里程碑推进由 Lightbend 商业化维护,开放渠道可查至 2.6.21 稳定版与后续里程碑每年主版本(OTP 28/29),补丁版本高频
兼容矩阵JVM(Java/Scala 双 API);Akka 2.6.x 迁移路径明确JVM(Java/Scala);BSL 版本生产使用需商业授权评估Erlang/Elixir 等语言生态;BEAM 运行时自带监督树、分布式原生能力

数据来源:pekko.apache.org/download.html、repo1.maven.org(com.typesafe.akka:akka-actor-typed_2.13)、github.com/erlang/otp 官方 releases.atom 与 README,查询日期 2026-10-18。

7.3 选型建议

JVM 技术栈寻求 Apache-2.0 许可与开放治理的 Actor 框架选 Pekko;已有 Akka 应用且可接受 BSL 商业授权评估的可留在 Akka,但迁移路径以 Pekko 官方指南为先;非 JVM 团队或追求电信级容错与运行时自带分布式的场景可评估 Erlang/OTP 生态。

八、参考链接