关于spark组件通信--RPC

关于spark组件通信--RPC,第1张

NIO,AIO,BIO

BIO:同步阻塞模型,一个客户端连接 对应 一个处理线程, 会导致线程阻塞,浪费线程资源

NIO:同步非阻塞模型,服务器实现模式为一个处理线程对应多个客户端的连接,客户端发送的连接请求都会注册到多路复用器selector上,多路复用器轮询到连接,有IO请求就会进行处理。

AIO:异步IO模型

LInux采用epoll的方式,模仿AIO *** 作

Netty

netty是对nio的进一步封装,nio是一些底层的api,netty是基于这些api,对reactor模型的实现,是一个开箱即用的网络框架。

Reactor

对于 Reactor 通常称之为:响应式编程模型。那么其必然是 同步非阻塞的。这里单说 NIO 它并不是 Reactor 模式,但它为 实现 Reactor 模式打下了基础 那么 Netty 就是将 NIO 实现为 Reactor 模式的最佳实践。

SparkRPC

参考

Java NIO和epoll 的是什么关系,区别是什么?
BIO、NIO 入门(Netty 先导)
深度剖析:Kafka 请求是如何处理?看完这篇文章彻底懂了!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/905474.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-15
下一篇2022-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存