文档首页 > > 移植指南> RPC框架> 移植gRPC> 移植指导

移植指导

分享
更新时间:2020/08/06 GMT+08:00

介绍

简要介绍

gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。

语言:C、Java、Go

一句话概述:开源RPC框架

建议的版本

建议使用版本为:GitHub上当前最新版本。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.xlarge.2 | 4vCPUs | 8GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

版本

下载地址

CentOS

7.5

在公共镜像中已提供。

Kernel

4.14.0

在公共镜像中已提供。

获取源码

https://github.com/grpc/grpc使用git clone命令可下载当前最新版本的gRPC源码。

编译和安装

  1. 安装gRPC所需的依赖。

    yum install -y gcc-c++ autoconf libtool git

  2. 获取gRPC的源代码。

    cd

    git clone https://github.com/grpc/grpc.git

  3. 进入gRPC文件夹,下载第三方库的软件源码。

    cd grpc

    git submodule update --init

  4. 进入gRPC源码的第三方库文件夹中,编译并安装protobuf。

    cd /root/grpc/third_party/protobuf

    ./autogen.sh

    ./configure

    make -j4

    make install

  5. 查询protobuf的版本号。

    protoc --version

    回显内容如下,若能正常显示protobuf的版本号,则表示protobuf安装成功。

    libprotoc 3.11.4

  6. 接着,进入gRPC源码目录,编译并安装gRPC。

    cd /root/grpc

    make -j4

    make install

运行和验证

官方自带“HelloWorld”的Demo,通过编译该Demo来验证gRPC是否安装成功。

  1. 设置环境变量。

    1. 编辑“/etc/profile”文件,添加环境变量。

      vi /etc/profile

      1. 文件末添加“PKG_CONFIG_PATH”“LD_LIBRARY_PATH”环境变量。
        修改内容如下:
        export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
        export LD_LIBRARY_PATH=/usr/local/lib
      2. 使环境变量生效。

        source /etc/profile

    2. 分别查看“PKG_CONFIG_PATH”“LD_LIBRARY_PATH”环境变量是否修改生效。

      echo $PKG_CONFIG_PATH

      回显内容如下:
      /usr/local/lib/pkgconfig

      echo $LD_LIBRARY_PATH

      回显内容如下:
      /usr/local/lib

  2. 验证Demo是否编译成功,且运行正常。

    1. 编译源码。

      在修改环境变量的同一个终端中,进入Demo文件夹,编译源码。

      cd /root/grpc/examples/cpp/helloworld

      make

    2. 运行greeter_server。

      编译成功之后,在该终端运行服务器端程序greeter_server。

      ./greeter_server

      回显内容如下,监听的是50051端口
      Server listening on 0.0.0.0:50051
    3. 运行greeter_client。

      打开另一个终端,先使环境变量生效,再执行客户端程序greeter_client。

      source /etc/profile

      cd /root/grpc/examples/cpp/helloworld

      ./greeter_client

      回显内容如下,则表示gRPC安装成功且能正常使用:
      Greeter received: Hello world

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问