gRPC框架小白入门教程(拨云见雾)

gRPC的学习是花费时间最长的,也是入职以来接触最早的新知识,翻看过n个CSDN博客关于gRPCde的介绍和入门,结果半懂不懂越来越糊涂。这些要么有代码没详细完整的介绍,要么有介绍没完整的例子。终于在翻看官方文档之后才拨云见雾,方初窥得门径。
https://grpc.io/docs/tutorials/basic/java.html 这个全是英文的官方文档地址在用翻译软件后觉得这官方文档才是最完美的gRPC入门博客。
下面介绍理解后的步骤,详情参看上面的地址,这个的用的工具类是IDEA,语言是JAVA。
我们要入门的话,总共需要创建两个项目:一个客户端、一个服务端。我们先讲解服务端

总结一下步骤:
创建maven项目导入依赖,
编写proto文件,
根据生成接口和类来创建具体的服务实现类(继承XXXGrpc.XXXImplBase,重写方法),
再启动这个服务类(serverBuilder里面方法)。

服务端

  1. 创建一个maven项目,命名server(也可以叫其他的)。
  2. 在这个项目的pom.xml里面我们需要导入一些依赖,这里面有grpc的依赖和一些必须的protocol buffer(协议缓冲区编译器:用来把我们下一步要写好的proto文件生成指定的java语言接口)插件。
  3. 这一步是核心,我们在要在main包下创建一个名字为proto的文件包(这个别乱改,就按这个操作来)。然后在这个包下面创建一个后缀为.proto的文件,我这个创建成helloworld.proto 这个文件是定义rpc服务的关键文件。
  4. 接下来我们就是要编写helloworld.proto文件里的内容了。
    在这里插入图片描述
  5. 我们右键pom.xml将其发布到maven,然后找到里面的插件Plugins里面的protobuf,分别依次点击里面的protubuf:compile和protobuf-custom,这下项目就会生成一个target包。
  6. 一个target包里面有根据我们helloworld.proto文件生成的GreeterGrpc类(这个我们下面要用!!!)和一堆请求和响应的接口和类。如下图:
  7. 在这里插入图片描述
  8. 接下来这个我们就要用这些生成的类和接口来创建我们的服务端。要创建服务端我们要创建两个类:A和B。
  9. A用来继承GreeterGrpc.GreeterImplBase,并实现里面方法(这个方法是我们在proto文件里定义的),这个方法里面有两个重要的参数HelloRequest request和StreamObserver responseObserver,一个是请求,一个是响应。其中响应的responseObserver里面有两个常用的方法,onNext()这个是用来响应消息的,onComplete用来指定我们完成的了RPC的处理。在这里插入图片描述
  10. B是用来开启我们A里面gRPC服务的。我们在这个类里面创建main主方法,在主方法里面我们主要用到了serverBuilder服务构建器里面的几个方法,如下图:

到这里我们的服务端就写好了。接下来就是客户端:

客户端

总结一下步骤:
创建maven项目导入依赖,编写proto文件(复制服务端的,两个是一样的!)再编译,
创建一个类调用服务端方法(两个变量 channel通道和stub存根),
Stub用来调用服务,但使用stub(相当于小船)要先创建通道stub(相当于河流)。

这个步骤相比服务端就比较简单了,直接按下图所示操作:

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值