设为首页 加入收藏

TOP

spider RPC入门指南(一)
2019-09-17 16:49:11 】 浏览:54
Tags:spider RPC 入门 指南

请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。

本部分将介绍使用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,St
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【系统架构】分布式消息队列 下一篇【系统架构】读《大型网站架构系..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目