揭秘系统远程调用思想
2018-03-20 15:51
169 查看
前言
在xxl-job中存在调度中心远程调用执行器的过程, 在此可以很清晰的学习到远程调用的思想。 常规的远程调用协议,dubbo, thrift , Protocol Buffer, 以及更轻量级的hessian协议。 这些市面上大同小异的框架,在我们集成这些框架的时候,我们总会在调用端引用服务端暴露出来的接口,然后通过代理工厂创建代理对象最终通过spring的自动注入的方式,在我们的容器里面生成代理对象,然后当我们需要使用的时候,直接使用代理对象,就可以调用到另一个系统里面的服务了, 常规的配置我们都知道,但是真正内部是怎么实现的,为何我们调用代理对象的方法,就能调用到远程系统的服务,这是我们值得思考的。 此处主要以xxl-job为原型,讲解这种模式, 其他专业的RPC框架肯定比这个更加复杂, 所以这里主要是讲解一个思想。例:当A系统需要调用B系统的方法时,我们通常的做法是这样的。B系统 暴露一个interface, 如: exampleInterface.jar A系统引用exampleInterface.jar , 同时在spring.xml 文件中配置B系统暴露出来的接口类(例:userService)最终我们的使用方式如下: Example
代理对象生成
在xxl-job中调度中心需要调用执行器的代码, 下面来仔细分析一下、 获取代理对象相关文章推荐
- RMI原理揭秘之远程方法调用
- SAP RFC 浅谈基于SAP系统的远程功能调用
- LINUX内核设计思想之系统调用
- Linux内核分析(六)----字符设备控制方法实现|揭秘系统调用本质
- 系统拆分解耦利器之消息队列---RabbitMQ-RPC远程调用
- 把握linux内核设计思想(一):系统调用
- Linux内核驱动学习(七)----系统调用揭秘
- 【ITOO项目中遇到的问题】Jboss启动项目能远程调用其他系统,不能远程调用本系统问题解决方案
- 通过 open falcon 的 agent 的http 接口实现远程系统命令调用
- 使用JAVA远程调用导致程序自动down掉,jdk1.5的debug模式系统漏洞
- 获取系统隐藏API远程调用服务方法-挂断电话
- 停止或开启系统服务-续(远程调用)
- 远程调用其他系统bean报EJBCLIENT000037: Could not load ejb proxy class com.tgb.itoo.basic.service.xxBean的错误
- .NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)
- 用perl调用系统命令来实现IPC$远程猜解(Reship)
- 分布式Java--基于远程调用实现系统间通信
- RMI原理揭秘之远程方法调用
- .NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)
- java远程通讯轻量级HttpInvoker实现理赔调用承保核心系统打印出险前保单实现
- 基于WebService实现远程调用方式的系统间通信