# krpc **Repository Path**: smilefei/krpc ## Basic Information - **Project Name**: krpc - **Description**: My RPC FrameWork(自己写的RPC框架) - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2018-05-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![](https://img.shields.io/badge/Java-1.8-green.svg) [![Build Status](https://travis-ci.org/yangzhenkun/krpc.svg?branch=master)](https://travis-ci.org/yangzhenkun/krpc) ![Logo](https://raw.githubusercontent.com/yangzhenkun/krpc/master/logo.png) ### 如何使用 编译好的环境 https://github.com/yangzhenkun/krpc/blob/master/krpc.rar #### 1.服务端 解压后server文件夹中就是服务端环境,如demo所示,server/service中有一个user文件,就是我们部署的user服务,下面有两个必须的文件夹conf(配置文件) log4j.xml是该服务日志的标准的log4j配置文件,如果想修改日志路径 ```java ``` 修改值即可 server.xml文件为服务的配置文件 ```xml ``` 一个服务中所有对外的接口必须在services中配置,规则如上注释所示。 编写服务端代码会需要一个接口包和一个实现包,将源码生成jar包后,放在server/service/user/lib中,这里以user服务为例,你可以自己定义这个文件名的名字来标识这个服务。 **启动** 启动在server/bin里面,执行 ```java java -jar com.krpc.server-0.0.1.jar 服务名 ``` 命令,查看日志,如果看到 启动成功,监听端口*** 的日志,恭喜你,服务端启动成功。 #### 2.客户端 需要引入KRPC客户端,由于项目还没有发布到maven中央仓库,用户可以将client包发布到自己本地,或者直接将该com.krpc.client-0.0.1.jar包加入项目。 使用需要先调用KRPC.init("client配置文件")进行初始化 配置在client/client.xml中 ```java ``` sercie的name的值必须 ```java UserService service = ProxyFactory.create(UserService.class, "user", "userService"); ``` 跟create中第二个参数一直。第三个参数为服务端实现的名字,需要跟服务端的配置文件一直。 #### 3.要注意的事情 3.1 接口包参数中目前不支持基本类型,必须使用其包装类: 例如:int必须使用Integer等 3.2 krpc.rar中的krpc相关包均为上面源码中生成 配置文件模板:https://github.com/yangzhenkun/krpc/tree/master/config_file_template **这个RPC框架是我自己造轮子学习的,并没有真实在生产环境中使用,所以看到这个项目,希望大家可以交流学习技术,提交pr,issue,完善其性能及功能,争取让它可以用于生产环境** 我个人博客中关于RPC及这个KRPC的源码原理解析会在这个专栏中写道 https://blog.csdn.net/column/details/22012.html