现在出现了很多中间件解决跨语言问题,使用RPC远程调用;但是庞大是个问题,而且要按照格式使用。尤其是源码量比较庞大。
为了简单易用,我采用订阅发布模型,在此基础上创建了fastRPC,模拟RPC,调用远端方法。
其实主要过程就是通过提供的类,将每个参数打包为特定格式,按照类型名称,在服务端匹配转换;
服务的接受后进行方法处理;
我已Java创建了原型,代码很少,也可以很方便的转换成C#,c++语言。
服务使用注解,将发布的服务方法设置特定服务名称,打包后程序会自动扫描jar文件。如果是c++这些,可以自己手动注册。注册服务信息。
可以替换通信包,当前基础通信包中封装了接口,只要满足接口,修改为其它通信方式,当前为tcp;服务端由配置文件读取,没有配置文件则使用默认;客户端使用通信地址 ,在通信地址中使用协议;通信地址格式:tcp -h host -p port
客户端调用时,调用的服务名称使用注解上规定发布名称,参数名称一定要正确
java原型已经打包放置在csdn上,以后还有更新,如果觉得可以使用讨论,则在git上获取最新版本。
地址:https://github.com/jinyuttt/fastRPC.git