远程调用
来源:互联网 发布:网络行业都有哪些工作 编辑:程序博客网 时间:2024/05/21 18:33
1.远程调用解决的问题:
统一服务多机部署,多个不同服务相互调用;
2. 技术解决方案
Netty通信
3.调用流程
流程图有空再完善,这里先大致说一下思路:
(1)客户端通过接口new一个代理类,代理类对象中应该包含远程调用的如下信息:
private String serviceUri;//由于时同一服务多机部署,这里会涉及到一个地址路由的问题private String serviceName;private String instanceName;private Class serviceInterface;private Properties properties;private Set exporterProtocols;private String importerProtocol;
(2)代理类方法调用
在这个过程中,借助动态代理完成了通信并反馈结果,简单的说就是当调用方法时,动态代理实际上是回去调用invoke方法,而invoke方法中的实例只是自己定义的,并非远程中真正需要的实例,因此在invoke方法中会通过Netty通信,将代理类中的相关信息传输到服务器端,服务器端根据接受到的信息,进行调用实际类的相应方法,并将返回结果通过Netty传回来。注意:由于对象在网络中涉及到序列化与反序列化过程,传输的对象均需要序列化,至于序列化采用什么序列化器根据实际选择,比较推荐的为Hessian,速度较快。
(3)服务器端
当服务器端监听到信息后,也会通过动态代理的方式调用相关方法,来反馈。具体过程后续完善。
0 0
- 远程调用
- 远程调用
- JavaRMI远程方法调用
- 远程过程调用失败
- Java远程方法调用
- 远程调用WebService
- Java远程方法调用
- 代码的远程调用
- 远程调用的解决方案
- ONC远程过程调用
- 一步一步远程调用EJB
- Java远程方法调用
- RMI,远程方法调用
- ejb的远程调用
- RPC远程调用问题
- Hibernate远程调用MySQL
- Java远程方法调用
- RMI远程调用实例
- OpenMP嵌套并行
- bootstrap 集成font-awesome
- PHP数组的详细解读
- SAS FORMATS基础和概述
- OpenMP: OpenMP概述
- 远程调用
- Leetcode: Excel Sheet Column Number
- Java内部类理解
- (android高仿系列)今日头条 --新闻阅读器 (三) 完结 、总结 篇
- Android电话信息相关API
- Linux ADF 理解
- USACO 2.1 Sorting a Three-Valued Sequence
- unity与手机相关吧
- android camera(四):camera 驱动 GT2005