simple-rpc

基于 netty 的 RPC 框架
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 RPC/XMLRPC项目
软件类型 开源软件
地区 国产
投 递 者 荀豪
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

simple-rpc 是一款基于 netty 的 RPC 框架,现有功能

  • 基本的客户端、服务端交互

  • 提供代理实现接口

  • spring 集成, xml配置和Java Config配置方式

  • 服务发布订阅 DONE

  • 断线重连 DONE

RoadMap

  • 服务心跳检测

  • 连接池

  • 服务注册发布功能

  • 服务管理、监控

  • 服务调用日志链路跟踪

  • 集成swagger功能,提供文档、测试、客户端生成

使用示例

// 服务接口
public interface IHello {
`
    String say(String hello);

    int sum(int a, int b);
    int sum(Integer a, Integer b);
}
// 服务实现
public class HelloImpl implements IHello {
    public String say(String hello) {
        return "return " + hello;
    }

    public int sum(int a, int b) {
        return a + b;
    }

    public int sum(Integer a, Integer b) {
        return a + b * 3;
    }

}

// 客户端代码
// beanJavaConfig方式
@Bean
    public CountService countService() {
        RpcClientWithLB rpcClientWithLB = new RpcClientWithLB("fyes-counter");
        rpcClientWithLB.setZkConn("10.4.105.252:2181");
        rpcClientWithLB.init();
        CountService countService = rpcClientWithLB.newProxy(CountService.class);
        return countService;
    }

// 服务端发布
// xml配置方式
<bean class="com.github.liuzhengyang.simplerpc.ServerFactoryBean" init-method="start">
        <property name="serviceInterface" value="com.test.liuzhengyang.CountService"/>
        <property name="port" value="8888"/>
        <property name="serviceName" value="fyes-counter"/>
        <property name="serviceImpl" ref="countServiceImpl"/>
        <property name="zkConn" value="127.0.0.1:2181"/>
  •  simple-rpc #### 介绍 RPC远程过程调用实现,个人简易学习版。具体代码见 https://gitee.com/mystarry-sky/simple-rpc 。 #### 软件架构 RPC远程过程调用 简单过程模拟     RPC 分为client、server、api 三部分     client 作为消费者,通过Proxy方法,实现远程API调用     api 作为clie

  • 前言 本文将简单介绍RPC,以及通过Eggjs框架搭建RPC客户端和服务端。 过程遇到的问题记录在这:Node.js Eggjs使用RPC模块 egg-sofa-rpc 踩坑记录 RPC介绍 RPC ( Remote Procedure Call ) 即 远程过程调用,就是像调用本地的函数一样去调用远程的函数。简单讲,就是本地调用的逻辑处理的过程放在的远程的机器上,而不是本地服务代理来处理。 也就

  • 内容列表 Preface: About This Manual Introduction to XML-RPC for C/C++ What is XML-RPC? How Does XML-RPC For C/C++ Help? More Information On XML-RPC For C/C++ The Xmlrpc-c Function Libraries C Libraries C+

  • 一、前言 SOFARPC 是蚂蚁金服开源的一个高可扩展性、高性能、生产级的 Java RPC 框架,提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等等,致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。 egg.js作为一个成熟的开源项目,清晰的定义了从配置、路由、扩展、中间件到控制器、定时任务等各个 Web 应用研发过程中一些最基础的概念,这

  • JSON-RPC是什么 参考这篇博客:JSON-RPC是什么 以太坊客户端提供了API和一组远程调用(RPC)命令,这些命令执行时会被编码成JSON格式的请求,发送给服务端,这被称为JSON-RPC API。本质上JSON-RPC API就是一个接口,允许我们编写的程序使用以太坊客户端作为网关,访问以太坊网络和链上数据。 通常RPC接口作为一个HTTP服务,端口设定为8545,出于安全原因,默认情

  • 很早以前就涉及到多端远程调用 api的设计,那时候自己设计了个消息传递回调过程。最近了解了JSON-RPC协议,更正规,就可以自己实现下。逻辑也不复杂,没有限制底层消息传递的方式,可以应用到更多的场景。在实现中,没有区分服务器端和客户端的概念,获得不同的消息体,进行不同的处理,更方便的进行双向通信。 github地址: https://github.com/legu2009/jsonrpc 博客园

  • Simply see XML-RPC . Use the ​SimpleJSONRPCServer instead of SimpleXMLRPCServer and you are done! You'll also want ​JSON RPC Client too. $ cat testjsonrpc.py import sys import jsonrpclib rpc_srv = jso

  • Web 服务已经出现很久了。首先是 SOAP,但 SOAP 仅描述消息的情况,然后是 WSDL,WSDL 并不会告诉您如何使用 Java™ 编写 Web 服务。在这种情况下,JAX-RPC 1.0 应运而生。经过数月使用之后,编写此规范的 Java Community Process (JCP) 人员认识到需要对其进行一些调整,调整的结果就是 JAX-RPC 1.1。该规范使用大约一年之后,JCP

  • 目前知道的三种主流的Web服务实现方案为: REST:表象化状态转变 (软件架构风格) SOAP:简单对象访问协议 XML-RPC:远程过程调用协议   下面分别作简单介绍: REST:表征状态转移(Representational State Transfer),采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源,REST

  • Introduction The Incutio XML-RPC library (IXR) is designed primarily for ease of use. It incorporates both client and server classes, and is designed to hide as much of the workings of XML-RPC from th

  • 原文地址:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/11/3072436.html 目前知道的三种主流的Web服务实现方案为: REST:表象化状态转变 (软件架构风格) SOAP:简单对象访问协议  XML-RPC:远程过程调用协议  下面分别作简单介绍: REST:表征状态转移(Representational State Tra

  • JSON-RPC 2.0 Server JSON-RPC 2.0 : Java Server Framework JSON-RPC 2.0 Server Simple and efficient Java framework for processing JSON-RPC 2.0 requests and notifications No complicated J2EE and Spring s

  • http://blog.csdn.net/sun5208/article/details/6458432 RMI:Romote Method  Invocation,远程方法调用。基于java远程消息交换协议JRMP通信;JRMP是专为java远程对象制定的协议。是分布式应用程序的100%java解决方法。RMI对非java语言应用程序支持不足,不能实现互通。 RMI是面向对象的编程模型。广泛应用

 相关资料
  • Flex提供RPC服务以向客户端提供服务器端数据。 Flex为服务器端数据提供了相当大的控制。 使用Flex RPC服务,我们可以定义要在服务器端执行的用户操作。 Flex RPC Sservices可以与任何服务器端技术集成。 其中一个Flex RPC服务提供内置支持,可以通过线路传输压缩二进制数据,速度非常快。 Flex提供以下三种类型的RPC服务 S.No RPC服务和描述 1 HttpSe

  • 基于GWT的应用程序通常由客户端模块和服务器端模块组成。 客户端代码在浏览器中运行,服务器端代码在Web服务器中运行。 客户端代码必须在网络上发出HTTP请求才能访问服务器端数据。 RPC,远程过程调用是GWT使用的机制,其中客户端代码可以直接执行服务器端方法。 GWT RPC是基于servlet的。 GWT RPC是异步的,客户端在通信期间从不被阻止。 使用GWT RPC Java对象可以直接在

  • RPC

    RPC文档托管在这里: https://tendermint.com/rpc/ 若要更新文档,可以在 rpc/core 目录 编辑相关的 godoc 注释。

  • RPC

    JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs. JSON-RPC is a stateless, light-weight remote procedu

  • rpc

    rpc agentnotifiers 主要负责发出一些rpc的通知给agent,包括三个文件:dhcp_rpc_agent_api.py、l3_rpc_agent_api.py、metering_rpc_agent_api.py。 分别实现向dhcp、l3或者metering的agent发出通知消息。 以dhcp_rpc_agent_api.py为例,定义了DhcpAgentNotifyAPI类,

  • RPC

    前面几个小节我们介绍了如何基于Socket和HTTP来编写网络应用,通过学习我们了解了Socket和HTTP采用的是类似"信息交换"模式,即客户端发送一条信息到服务端,然后(一般来说)服务器端都会返回一定的信息以表示响应。客户端和服务端之间约定了交互信息的格式,以便双方都能够解析交互所产生的信息。但是很多独立的应用并没有采用这种模式,而是采用类似常规的函数调用的方式来完成想要的功能。 RPC就是想