1. 引言
Flink内部节点之间的通信是用Akka,比如JobManager和TaskManager之间的通信。而operator之间的数据传输是利用Netty。
Spark用Netty通信框架代替Akka,是不是Akka不好?其实他们各有优缺点。
2. 简单比较
Akka:它是基于协程的,性能不容置疑;基于scala的偏函数,易用性也没有话说,但是它毕竟只是RPC通信。
Netty:相比更加基础一点,可以为不同的应用层通信协议(RPC,FTP,HTTP等)提供支持
实践是检验真理的唯一标准,目前尚未发现Flink使用akka遇到性能等问题。
参考原理:
1.Akka介绍: https://blog.csdn.net/hxcaifly/article/details/84998240
2. Netty介绍: https://blog.csdn.net/hxcaifly/article/details/85336795
3. 协程和线程的区别: https://blog.csdn.net/jek123456/article/details/80449694

本文探讨了Flink和Spark在内部通信机制上的选择差异,Flink采用Akka进行节点间通信,而Spark则选择了Netty。文章分析了Akka和Netty各自的优缺点,指出Akka基于协程和偏函数,适用于RPC通信,而Netty更基础,能支持多种应用层通信协议。实验证明,Flink使用Akka未出现性能瓶颈。

1765

被折叠的 条评论
为什么被折叠?



