注意,客户端 grpc 的依赖是 grpc-client-spring-boot-starter,其他的基本上和服务端一致 。
然后配置客户端,将之注册到 nacos 上,如下:
server:port: 8088spring:cloud:nacos:discovery:enabled: trueserver-addr: hc.javaboy.org:8848username: nacospassword: nacosapplication:name: grpc_clientgrpc:client:grpc_server:negotiation-type: plaintext
最后面有一个 grpc_server,这个是固定的(依据就是 grpc_server 注册到 nacos 上的名称),表示这个服务的通信不使用 TLS 加密 。
最后再来看看调用代码:
@RestControllerpublic class HelloController {@AutowiredGrpcClientService grpcClientService;@GetMapping("/hello")public void hello() {grpcClientService.hello();}}@Componentpublic class GrpcClientService {@GrpcClient("grpc_server")HelloServiceGrpc.HelloServiceBlockingStub helloServiceBlockingStub;public void hello() {StringValue s = helloServiceBlockingStub.sayHello(StringValue.newBuilder().setValue("javaboy").build());System.out.println("s = " + s.getValue());}}
这里的核心其实就是通过 @GrpcClient? 注解注入一个 HelloServiceBlockingStub 实例,其中 @GrpcClient 注解中的参数就是注册到 nacos 上服务的名字,将来会自动根据服务的名字查找到服务的具体地址进行调用 。
好啦,大功告成 。
接下来我们启动 grpc_server 和 grpc_client 就可以进行测试了 。
推荐阅读
- 一个鸡蛋清的热量
- 一个水煮鸡蛋白的热量
- 景甜|怕景甜成为下一个阿娇或张柏芝?想啥呢!
- 李晨|李晨猎艳记:六任女友一个比一个漂亮,却没有一个走到最后
- |文玩人要有底线,要做到文玩“7不入”,做一个有底线的文玩人!
- 胡歌|大瓜!上海一刚结婚40岁中年男演员跟女老板有一个孩子,已上小学
- |张继科涉赌、范志毅被查、导演群殴,一个比一个生猛
- 李晨|李晨女友记:6任女友一个比一个漂亮,却没有一个走到最后
- 陈慧琳|杨幂晒午餐,一个人吃6道菜,吃一大碗白米饭体重依然保持90斤
- 主持人|亲手自毁前程的6位主持人,个个“自我作死”,没一个值得同情