Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

基于zookeeper服务注册与发现;动态代理实现服务调用;Netty实现远程通信

License

Notifications You must be signed in to change notification settings

keepCodingDream/trpc

Repository files navigation

trpc

基于zookeeper服务注册与发现;动态代理实现服务调用;Netty实现远程通信

Quick start

1.首先Clone项目到本地 :

git clone git@github.com:keepCodingDream/trpc.git

2.在项目根目录执行

mvn clean install

3.在你需要的项目里引入Maven依赖

 <dependency>
 <groupId>com.tracy.trpc</groupId>
 <artifactId>trpc-core</artifactId>
 <version>${project.version}</version>
 </dependency>

4.在你需要暴露的服务接口加上@Consumer注解

@Consumer
public interface Demo {
 String sayHello(String name);
}

5.在接口的实现类上加上@Provider注解

@Provider
public class DemoImpl implements Demo, Serializable {
 @Override
 public String sayHello(String name) {
 return "hello " + name;
 }
}

6.在需要注入的地方注入接口即可使用

@RestController
public class TestController {
 @Resource
 private Demo demo;
 @RequestMapping(value = "/test", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
 public String test(@RequestParam(value = "world") String world) {
 return demo.sayHello(world);
 }
}

7.最后,也是最重要的,就是要加上服务配置

#####服务端配置

#zookeeper地址
trpc.zookeeper.address=127.0.0.1:2181
#服务名称
trpc.context.provider.name=demo
#服务版本号
trpc.context.provider.version=0.0.1
#服务端ip(可为空,为空时取本机ip)
trpc.context.provider.ip=
#服务端端口号
trpc.context.provider.port=9090
#扫描服务的基础包路径(包含@Provider 注解的类路径)
trpc.context.base.package=com.tracy.trpc.demo.base

#####客户端端配置

#zookeeper地址
trpc.zookeeper.address=127.0.0.1:2181
#服务名称
trpc.context.consumer.name=demo
#服务版本号
trpc.context.consumer.version=0.0.1
#扫描服务的基础包路径(包含@Consumer 注解的类路径)
trpc.context.base.package=com.tracy.trpc.common

About

基于zookeeper服务注册与发现;动态代理实现服务调用;Netty实现远程通信

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /