1、Spark组件之间使用RPC机制进行通信。RPC的客户端在本地编写并调用业务接口,接口在本地通过RPC框架的动态代理机制生成一个对应的实现类,在这个实现类中完成soket通信、远程调用等功能的逻辑包装,而在RPC的服务端既编写业务接口也编写了具体的业务实现类,通过RPC框架以接口的方式暴露出来,供客户端远程调用。
Spark2.x之前使用的是Akka作为底层框架来实现Actor模型的,Spark2.x之后用Netty替换了Akka作为底层框架,来实现Actor模型(Akka底层用的也是Netty)。

BIO:客户端调用后一直等待服务端的执行返回,客户端才能继续执行自生在调用点位后面的逻辑,造成客户端逻辑的阻塞。
NIO:客户端调用后,继续执行调用点位后的本地逻辑,通过事件监听等机制获得服务端的返回,客户端无阻塞,但是客户端需要付出额为的精力去实时监听服务端的执行是否完毕。
AIO:客户端调用后,继续执行调用点位后的本地逻辑,服务端主动将结果发送到共享的地方,客户端灵活取用,客户端无阻塞也无额外开销,(服务端通常使用call-back等机制实现对客户端的通知、Feature来约定共享数据区)但是目前Linux不支持AIO,Windows支持。
*
2、Actor模型:每一个通信端点都拥有一对
inbox-outbox**,任何信息的接收都通过inbox,同样任何信息的发送都必须通过outbox,多条信息就在box中排序处理。

最新文章

  1. CSS-学习笔记三
  2. Redis 哨兵模式实现主从故障互切换
  3. 007-Scala类的属性和对象私有字段实战详解
  4. php js => splice 数组 插入 功能
  5. test2
  6. 【BZOJ 4600】【SDOI 2016】硬币游戏
  7. DBAccess
  8. redis入门指南-安装redis
  9. JAVA 缓存Ehcache详细解毒
  10. 【NOIP模拟赛】lover——心上人
  11. treap树及相关算法
  12. Gradle实战:发布aar包到maven仓库
  13. startDiscovery() and startLeScan().
  14. Java API —— TreeMap类
  15. FocusWriter
  16. DM8168 debug continue... ...
  17. 子网/ip/子网掩码
  18. java Log日志规范
  19. AppBoxFuture(五): 分布式文件存储-Store Everything
  20. B树索引分裂

热门文章

  1. windows下生成文件目录树
  2. Qt常用UI控件读取、写入方法
  3. Python - Unittest小结
  4. OpenResty学习指南(一)
  5. (转)Gamma分布,Beta分布,Multinomial多项式分布,Dirichlet狄利克雷分布
  6. 配置微软Azure大数据HDInsight云集群
  7. 介绍Netty
  8. 透彻分析和解决一切javaWeb项目乱码问题
  9. 生成HTML测试报告表格
  10. [xml]AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getroot'