Akka 程序更难调试。我们还需要跟踪许多参与者的状态来诊断问题。关于为什么 Flink 选择 Akka 有什么解释吗?
Flink 项目决定使用 Akka 来实现其底层 RPC 服务,因为 Akka 可以为你完成大部分繁重的工作。Akka 允许轻松实现异步 RPC,支持加密等企业功能并达到不错的消息吞吐量。
但请注意,如果要调试分布式系统,则独立于使用的 RPC 系统,始终必须监视多个组件并可能关联不同的日志文件。这是分布式数据处理框架的固有问题。
此外,Akka rpc 服务实现AkkaRpcService
只是 FlinkRpcService
的一个实现。没有根本理由不能用基于不同网络库(例如 Aeron(的实现替换AkkaRpcService
实现。