远程调用和消息方式实现系统间通信的区别

如题所述

基本原理 要实现网络机器间通讯首先看看计算机系统网络通信基本原理底层层面看网络通信需要做流台计算机传输另外台计算机基于传输协议网络 IO 实现其传输协议比较名 http、tcp、 udp 等等http、tcp、udp 都基于Socket 概念某类应用场景扩展传输协议网络IO主要bio、nio、aio 三种式所布式应用通讯都基于原理实现应用易用各种语言通都提供些更贴近应用易用应用层协议 应用级协议 远程服务通讯需要达目标台计算机发起请求另外台机器接收请求进行相应处理并结返给请求端其诸 onewayrequest、同步请求、异步请求等等请求式按照网络通信原理需要实现需要做请求转换流通传输协议传输至远端远端计算机接收请求流进行处理处理完毕结转化流并通传输协议返给调用端原理应用便业界推基于原理应用级协议使家用直接操作底层东西通应用级远程通信协议提供: 1.避免直接做流操作麻烦提供种更加易用或贴合语言标准传输格式;2.网络通信机制实现替完传输格式转化流通某种传输协议传输至远端计算机远端计算机接收流转化传输格式并进行存储或某种式通知远端计算机 所习应用级远程通信协议我带着几问题进行习: 1.传输标准格式?2.请求转化传输流?3.接收处理流?4.传输协议? 应用级远程通信协议并传输协议做改进主要流操作面让应用层流处理流程更加贴合所使用语言或标准至于传输协议则通都选java 领域知名:RMI、 XML-RPC、Binary-RPC、SOAP、CORBA、JMS具体看看些远程通信应用级协议: RMIRMI 典型java 定制远程通信协议我都知道 singlevm 我通直接调用javaobjectinstance 实现通信远程通信能按照种式种远程通信机制RPC(RemoteProcedureCall)RMI 朝着目标诞 看基于RMI 完整远程通信程原理: 1.客户端发起请求请求转交至RMI 客户端stub 类;2.stub 类请求接口、、参数等信息进行序列化;3.基于socket 序列化流传输至服务器端;4.服务器端接收流转发至相应skelton 类;5.skelton 类请求信息反序列化调用实际处理类;6.处理类处理完毕结返给 skelton 类;7.Skelton 类结序列化通socket 流传送给客户端 stub;8.stub 接收流反序列化反序列化JavaObject 返给调用者 根据原理答前习应用级协议带着几问题: 1.传输标准格式?JavaObjectStream2.请求转化传输流?基于Java 串行化机制请求javaobject 信息转化流3.接收处理流?根据采用协议启相应监听端口流进入基于Java 串行化机制流进行反序列化并根据RMI 协议获取相应处理象信息进行调用并处理处理完毕结同基于java 串行化机制进行返4.传输协议?Socket XML-RPCXML-RPC 种RMI 类似远程调用协议RMI 同处于标准 xml 格式定义请求信息(请求象、、参数等)处呢跨语言通讯候使用 看XML-RPC 协议远程通信程: 1.客户端发起请求按照XML-RPC 协议请求信息进行填充;2.填充完毕xml 转化流通传输协议进行传输;3.接收接收流转换xml按照XML-RPC 协议获取请求信息并进行处理;4.处理完毕结按照XML- RPC 协议写入xml 并返 同答问题: 1.传输标准格式?标准格式XML2.请求转化传输流? XML 转化流3.接收处理流?通监听端口获取请求流转化XML并根据协议获取请求信息进行处理并结写入XML 返4. 传输协议?Http Binary-RPCBinary-RPC 看名字知道XML-RPC 差同处仅于传输标准格式由XML 转二进制格式 同答问题: 1.传输标准格式?标准格式二进制文件2.请求转化传输流?二进制格式文件转化流3.接收处理流?通监听端口获取请求流转化二进制文件根据协议获取请求信息进行处理并结写入XML 返4.传输协议?Http SOAPSOAP 原意SimpleObjectAccessProtocol用于布式环境、轻量级、基于XML 进行信息交换通信协议认SOAP XMLRPC 高级版两者原理完全相同都http+XML同仅于两者定义XML 规范同SOAP Webservice 采用服务调用协议标准加阐述 CORBACommonObjectRequestBrokerArchitecture(公用象请求代理[调度]程序体系结构)组用定义"布式象系统"标准由 OMG(ObjectMenagementGroup)作发起标准制定单位CORBA 目定义套协议符合协议象互相交互论用语言写论运行于机器操作系统CORBA 我看类似于SOA 体系架构涵盖选远程通信协议其本身能列入通信协议讲且CORBA 基本淘汰再加CORBA 懂进行阐述 JMSJMS 呢实现java 领域远程通信种手段基于JMS 实现远程通信RPC 同虽做RPC 效协议级别定义我认JMS RPC 协议确实远程通信协议其语言体系存着类似JMS 东西统类机制称消息机制消息机制呢通高并发、布式领域推荐种通信机制主要问题容错(详细见ErLang 论文) 看JMS 远程通信程: 1.客户端请求转化符合JMS 规定Message;2.通JMSAPI Message 放入JMSQueue 或Topic ;3.JMSQueue则发送相应目标Queue Topic则发送给订阅Topic JMSQueue4.处理端则通轮训 JMSQueue获取消息接收消息根据JMS 协议解析Message 并处理 答问题: 1.传输标准格式?JMS 规定Message2.请求转化传输流?参数信息放入Message 即3.接收处理流?轮训JMSQueue 接收Message接收进行处理处理完毕仍Message 式放入 Queue 发送或Multicast4.传输协议?限 基于JMS 用实现远程异步调用
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答