Spark 通讯模块 以及常用分布式通讯方式
Spark的Cluster Manager可以有Local、Standalone、Mesos、YARN等部署模式.
常用分布式通信方式:
1. RPC(Remote Produce Call)
RPC远程过程调用协议,基于C/S模型调用。过程大致可以理解为本地分布式对象向本机发送请求,不用自己编写底层通讯机制。通过网络向服务器发送请求,服务器对象接收参数,进行处理,再把处理后的结果发送回客户端。
RPC远程过程调用协议,基于C/S模型调用。过程大致可以理解为本地分布式对象向本机发送请求,不用自己编写底层通讯机制。通过网络向服务器发送请求,服务器对象接收参数,进行处理,再把处理后的结果发送回客户端。
2.RMI(Remote Method Invocation)
RMI和RPC一样都是调用远程的方法,可以把RMI看做的用Java语言实现了RPC协议。RPC不支持对象通信,支持对象传输,这也是RMI相比RPC的优越之处
RMI和RPC一样都是调用远程的方法,可以把RMI看做的用Java语言实现了RPC协议。RPC不支持对象通信,支持对象传输,这也是RMI相比RPC的优越之处
3.JMS(Java Remote Service)
JMS是在各个Java类之间传递消息的标准,其支持P2P和pub/stub两种消息模型,即点对点和发布订阅模型。其优点在于:支持异步通信,消息生产者和消费者耦合度低。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无须专用连接来连接它们
JMS是在各个Java类之间传递消息的标准,其支持P2P和pub/stub两种消息模型,即点对点和发布订阅模型。其优点在于:支持异步通信,消息生产者和消费者耦合度低。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无须专用连接来连接它们
4.EJB(Enterprise Java Bean)
EJB是Java EE的一个规范,该规范描述了分布式应用程序需要解决的事务处理,安全、日志、分布式等问题。与此同时,Sun公司也实现了自己定义的这一个标准,相当于自己颁布一个标准。EJB是一个特殊的Java类,按照Java服务器接口定义,放在容器里可以帮助该类管理事务、分布式、安全等,只有大型分布式系统间才会用到EJB,一般小型程序不会用到。
5.Web Service
Web Service是网络间跨语言、跨平台的分布式系统间的通信标准。传输XML、JSON等格式的数据,应用范围较广.但是同构语言不建议使用,效率太低,也不适合传输大数据量的数据,XML无用数据太多
EJB是Java EE的一个规范,该规范描述了分布式应用程序需要解决的事务处理,安全、日志、分布式等问题。与此同时,Sun公司也实现了自己定义的这一个标准,相当于自己颁布一个标准。EJB是一个特殊的Java类,按照Java服务器接口定义,放在容器里可以帮助该类管理事务、分布式、安全等,只有大型分布式系统间才会用到EJB,一般小型程序不会用到。
5.Web Service
Web Service是网络间跨语言、跨平台的分布式系统间的通信标准。传输XML、JSON等格式的数据,应用范围较广.但是同构语言不建议使用,效率太低,也不适合传输大数据量的数据,XML无用数据太多
版权声明:本文为博主原创文章,未经博主允许不得转载。