本部分将介绍使用spider RPC开发分布式应用的客户端和服务端。 spider RPC中间件基于J2SE 8开发,因此需要确保服务器上安装了JDK 8及以上版本,不依赖于任何额外需要独立安装和配置的依赖程序。注:spider RPC 1.0.1版本之前基于JDK ...
本部分将介绍使用spider RPC开发分布式应用的客户端和服务端。
spider RPC中间件基于J2SE 8开发,因此需要确保服务器上安装了JDK 8及以上版本,不依赖于任何额外需要独立安装和配置的依赖程序。
注:spider RPC 1.0.1版本之前基于JDK 1.7开发,最后改为了使用JDK 1.8主要是出于公司内部系统对接的考虑,使用了1.8新增的Parameter类,因为内部系统需要解析参数名。
spider RPC中间件的核心设计初衷是像调用本地服务一样调用远程服务,能够灵活的在运行时确定目标服务在哪台服务器,且高效的管理上百台的大规模服务器集群。
依赖jar包引入
spider包括下列依赖包:
com.ld.net.spider.jar 点击下载 | spider核心包 | <dependency> <groupId>com.ld.net.spider</groupId> <artifactId>com.ld.net.spider</artifactId> <version>1.0.X-SNAPSHOT</version> </dependency> |
com.ld.net.spider.ext.jar 点击下载 | Spider扩展包,比如管理、监控spider运行状态,与服务中心交互等等 | <dependency> <groupId>com.ld.net.spider</groupId> <artifactId>com.ld.net.spider.ext</artifactId> <version>1.0.X-SNAPSHOT</version> </dependency> |
com.ld.net.spider.sc.client.api.jar 点击下载 | 服务中心管理模式下,客户端提供的主要管理功能接口 | <dependency> <groupId>com.ld.net.spider</groupId> <artifactId>com.ld.net.spider.sc.client.api</artifactId> <version>1.0.X-SNAPSHOT</version> </dependency> |
com.ld.net.spider.sc.center.api.jar 点击下载 | 服务中心管理模式下,服务中心端提供的主要功能接口 | <dependency> <groupId>com.ld.net.spider</groupId> <artifactId>com.ld.net.spider.sc.center.api </artifactId> <version>1.0.X-SNAPSHOT</version> </dependency> |
定义服务接口
开发spider服务的第一步是定义spider服务接口,spider服务以java interface的方式进行定义。本示例涉及POJO定义如下:
package com.medsoft.spider.api;public class Demo { private int id; private String name; private double bonus; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getBonus() { return bonus; } public void setBonus(double bonus) { this.bonus = bonus; }}public class DemoReq extends SpiderBizHead { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}package com.medsoft.spider.api;import com.ld.net.remoting.LDParam;public class DemoResp { private int errorNo; private String errorInfo; public int getErrorNo() { return errorNo; } public void setErrorNo(int errorNo) { this.errorNo = errorNo; } public String getErrorInfo() { return errorInfo; } public void setErrorInfo(String errorInfo) { this.errorInfo = errorInfo; }}package com.medsoft.spider.api;import java.util.List;import java.util.Map;import com.ld.net.spider.meta.SpiderBizHead;public class DemoQuery extends SpiderBizHead { private Map<String,String> param; private List<Demo> result; public List<Demo> getResult() { return result; } public void setResult(List<Demo> result) { this.result = result; } public Map<String,String> getParam() { return param; } public void setParam(Map<String,String> param) { this.param = param; } public void addParam(String key,String value) { this.param.put(key, value); }}
原标题:spider RPC入门指南
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。