ubuntu系统下gRPC安装与简单使用

【Ubuntu】安装gRPC 1 gRPC简介 gRPC 是一个开源的远程过程调用 (RPC:Remote Procedure Calls) 框架,可以在任何地方运行。它使客户端和服务器应用程序能够透明地通信,并使构建连接系统变得更加容易。 2 Linux安装grpc (1)设置 $ export GRPC_INSTALL_DIR=$HOME/.local #确定目录是存在的 $ mkdir -p $GRPC_INSTALL_DIR $ export PATH="$GRPC_INSTALL_DIR/bin:$PATH... 阅读详情

gRPC概述

gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。
目前提供C、Java和Go语言版本,分别是grpc、grpc-java、grpc-go。
gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。
这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。

对于开发者而言的使用方法:
首先需要使用protobuf定义接口,即.proto文件。
然后使用编译工具生成特定的语言执行代码。
启动服务端,通过侦听指定的port,来等待Client链接请求,通常使用Netty来构建,GRPC内置了Netty的支持。
启动一个或者多个Client端,Client也是基于Netty,Client通过与Server建立TCP长链接,并发送请求;Request与Response均被封装成HTTP2的stream Frame,通过Netty Channel进行交互。

gRPC安装与测试

首先是安装一系列的依赖:

  1. 安装pkg-config:

  2. 然后安装依赖文件autoconf、automake、libtool、make、g++、unzip、libgflags-dev、libgtest-dev、clang、libc+±dev:

     sudo apt-get install pkg-config
     
     sudo apt-get install autoconf automake libtool make g++ unzip
    
     sudo apt-get install libgflags-dev libgtest-dev
    
     sudo apt-get install clang libc++-dev
    
  3. 下载gRPC源码进行安装:

    git clone https://github.com/grpc/grpc.git
    cd grpc
    git submodule update --init  //更新第三方源码
    
  4. 安装protobuf源码:

    //首先要进入gRPC目录下
    cd third_party/protobuf/
    git submodule update --init --recursive   //确保克隆子模块,更新第三方源码
    sudo ./autogen.sh      //生成配置脚本
    sudo ./configure         //生成Makefile文件,为下一步的编译做准备,可以加上安装路径:--prefix=path,默认安装路径为usr/local/bin/
    sudo make                 //从Makefile读取指令,然后编译
    sudo make install //从Makefile读取指令,安装到指定位置,默认为/usr/local/,也可以指定安装目录:--prefix=path。
    sudo ldconfig       // 更新共享库缓存
    which protoc       // 查看软件的安装位置
    protoc --version   //检查是否安装成功
    

    安装成功的结果为:
    在这里插入图片描述
    可以看到显示了protoc的版本

  5. 安装gRPC
    从当前目录回到gRPC根目录下,并执行以下命令:

    cd ../..
    sudo make                          //从Makefile读取指令,然后编译
    sudo make install       //从Makefile读取指令,安装到指定位置,默认为/usr/local/,这里可以加上安装路径:prefix=/usr/local/
    
  6. 测试example中的用例,输出helloworld:

    cd examples/cpp/helloworld/
    make                 //编译
    ./greeter_server  //服务器
    ./greeter_client   //客户端 这里要重新打开一个终端窗口。
    

    运行的结果为:
    可以在服务端看到:
    在这里插入图片描述
    服务端监听的url为0.0.0.0:50051
    在客户端看到:
    在这里插入图片描述
    已经收到了helloworld。测试成功。

gRPC在ubuntu系统下的安装和使用 gRPC概述 gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。 目前提供C、Java和Go语言版本,分别是grpc、grpc-java、grpc-go。 gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。 这些特性使得其在移动设备上表现更好,更省电和节省空间占用。 在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RP 阅读详情

相关推荐

Ubuntu16.04 安装gRPC

Ubuntu16.04 安装gRPC 2018-7-23 gRPC是什么,可以参考官方说明:https://grpc.io/docs/ 后期工作会用gRPC来实现客户端和服务器的程序调用,所以在自己ubuntu上安装gRPC练手。官网上给出了对应的安装方法,但是官网这种存在,真的只是参考就好,别当真。我就是因为太信任官网,导致用了多半天时间才装好gRPC +protobuf。 后来是同时...

左左张 1万+

grpc php,Ubuntu18.04下PHP安装gRPC-Go语言中文社区

准备工作确保安装了php7.0或更高版本,这里我使用的是php7.2版本以及确保安装了zlib,否则安装编译时会出错,安装方式如下:sudo apt-get install zlib1g-dev需要说明的是,目前gRPC只支持PHP客户端,并不支持PHP服务端,所以服务端需要其他语言进行构建安装gRPC和protobuf安装gRPC使用pecl安装PHP的gRPC扩展,安装完成后会提示在php配置...

weixin_36390615的博客 151

ubuntu18.04安装grpc及使用grpc时遇到的问题总结

git clone https://gitee.com/niubucai/grpc.git cd grpc/ git submodule update --init cd third_party/protobuf git submodule update --init --recursive #确保克隆子模块,更新第三方源码 ========================================================= 如果gitsubmodule update --init

goushi26的博客 1295

ubuntu 安装GRPC亲测有效

ubuntu安装grpc!亲测有效!!!

niujinya的博客 2885

关于在Ubuntu20.04环境下安装GRPC

在Ubuntu20.04环境下安装GRPC

wsq119的博客 1303

gRPC Ubuntu安装包

gRPC Ubuntu安装包

ubuntu 安装grpc

/ 指定安装路径 , 通常不需要,其默认安装在/usr/local/include和lib中。git submodule update --init --recursive //确保库下载完全。gitee链接:git clone https://github.com/grpc/grpc。git链接: https://github.com/grpc/grpc。ps: 头文件默认安装在: /usr/local/include。lib文件默认安装在: /usr/local/lib。

maogeweiwu的博客 1882

Vivado工程芯片型号更换全流程:从IP更新到生成新bit文件(避坑指南)

本文详细介绍了Vivado工程中更换芯片型号的全流程,包括IP更新、约束文件适配和生成新bit文件的关键步骤。特别针对FPGA开发中常见的兼容性问题提供避坑指南,帮助开发者高效完成芯片迁移,确保设计稳定性和性能优化。

weixin_42549451的博客 298

在Ubuntu20.04环境下安装GRPC

由于工作项目中涉及GRPC,因此需要安装GRPC和PROTOC以及编译proto文件。特此记录自己安装与编译的整个过程和注意点。

qq_43262059的博客 7266

Yersinia:layer 2攻击框架!全参数详细教程!Kali Linux教程!

Yersinia是一个专为执行二层网络攻击设计的框架,利用多种网络协议的弱点进行渗透测试和网络分析。它支持针对生成树协议(STP)、思科发现协议(CDP)、动态中继协议(DTP)、动态主机配置协议(DHCP)、热备用路由器协议(HSRP)、802.1q、802.1x、交换机间链路协议(ISL)和VLAN中继协议(VTP)的攻击。这些攻击可能导致网络中的拒绝服务(DoS)或为更复杂的攻击创造条件。Yersinia对渗透测试人员和网络管理员非常有用,但使用时需谨慎,以免造成网络不稳定。

qq_24305079的博客 2281

从零开始:使用英伟达nx开发板部署目标检测算法的全过程

英伟达nx开发板烧录、依赖安装、开发板联网

weixin_51192760的博客 3762

Ubuntu快速安装使用gRPC C++

关于gRPC随着云原生微服务的火热也流行了起来,而且学好一个gRPC框架对目前来说也是必须的了。然而对于一个基础的小白来说,这个gRPC的框架运用起来是及其的困难,具体体现在依赖库繁多,且大部分需要对git进行代理,在实际运用框架时,常常会发现某些库或者头文件找不到了,常常是些编译链接错误,还是很烦的。本篇文章通过博主自己整理的非常简单的操作来让新手小白进行一个友好的入门,并且对于博主自己也是一个笔记的作用,并且对于一些用到的第三方库也给出了百度网盘的链接,跟着步骤来还是很容易上手的,也没什么废话,跟着教程

weixin_60033897的博客 1835

PLC与变频器联动控制:从开关量、模拟量到通讯的接线与编程实战

在工业自动化系统中,电机调速控制是核心需求之一,其关键在于实现可编程逻辑控制器(PLC)与变频器之间的可靠联动。其基本原理是通过PLC输出控制信号,由变频器接收并驱动电机按设定速度运行。这项技术的核心价值在于实现电机的软启停、精确调速与节能控制,广泛应用于风机、水泵、传送带及精密张力控制等场景。其中,开关量控制以其接线简单、抗干扰能力强的特点,成为基础且可靠的方案;而模拟量控制则能实现无级平滑调速,满足更高精度的工艺要求。本文以西门子、三菱等主流品牌为例,深入解析了这两种主流控制方式的硬件接线、参数设置与梯

1270

Ubuntu16.04 安装gRPC详细步骤

Ubuntu16.04 安装gRPC gRPC 简介: gRPC 是一款高性能、开源的 RPC 框架,产自 Google,基于 ProtoBuf 序列化协议进行开发,支持多种语言(Golang、Python、Java等),本篇只介绍 Python 的 gRPC 使用。因为 gRPC 对 HTTP/2 协议的支持使其在 Android、IOS 等客户端后端服务的开发领域具有良好的前景。gRPC 提供...

生有涯,知无涯 4389

基于 Datawhale 开源量化投资学习指南(10):基于 LightGBM 的量化选股

通过本篇文章,我们深入探索了如何运用 LightGBM 机器学习模型实现量化选股。首先,我们通过获取股票的历史数据,进行特征工程和标签制作,将选股问题转化为一个分类问题。接着,我们使用 LightGBM 训练模型,并在验证集和测试集中评估了模型的表现。该选股策略的核心在于结合机器学习算法,从历史数据中寻找能够捕捉股票短期涨跌的关键特征,从而为投资者提供辅助决策支持。虽然本文的模型取得了一定的效果,但这只是量化投资领域的一小部分。

不想宅的冷同学 1347

7、复杂分布式水文模型的两阶段代理参数校准框架

本文提出了一种针对复杂分布式水文模型的两阶段代理参数校准框架,旨在解决可变入渗能力模型(VIC)在参数校准过程中计算成本高、耗时长的问题。该框架结合AdaBoost与反向传播神经网络(BPNN)构建高精度代理模型,并引入ε-NSGA II多目标优化算法加速搜索最优参数集。通过在兰江流域和湘江流域的实验验证,该方法在校准效率上提升了约20倍,同时保持了高模拟精度(NSE接近1,Bias接近0)。框架采用两阶段设计:第一阶段(SM-I)快速筛选关键参数范围,第二阶段(SM-II)进行高精度预测,显著减少了无效计

apple5的专栏 86

ubuntu安装gRPC

gRPC是什么,可以参考官方说明:https://grpc.io/docs/ 在自己ubuntu上安装gRPC练手。官网上给出了对应的安装方法,gRPC +protobuf。 安装步骤 1. 安装相关依赖工具 #安装pkg-config sudo apt-get install pkg-config #安装依赖文件 sudo apt-get install autoconf automake libtool make g++ unzip sudo apt-get install li.

alpha_love的博客 1005

JAX/JAXlib GPU 加速版本安装教程(CUDA)

本文介绍了在Windows WSL2+Ubuntu22.04环境下配置JAX/JAXlib GPU加速版本的详细步骤。使用RTX 4060显卡,安装CUDA 12.4和cuDNN 8.9.7驱动,通过Miniconda创建Python 3.9虚拟环境。具体步骤包括:安装Miniconda、配置CUDA环境变量、安装cuDNN驱动、下载并安装JAX/JAXlib。最后通过测试代码验证GPU加速功能,成功检测到GPU并完成矩阵运算。整个过程配有详细命令和截图说明,适合需要搭建JAX GPU开发环境的用户参考。

猿小白的博客 627

ubuntu18下grpc编译与安装

grpc装起来很麻烦,会有很多坑。按照官方文档或者其他博客的步骤,不注意依赖库的版本页会导致各种问题。 0. 环境 在 https://grpc.io/docs/ grpc的环境依赖如下 Language OS Compilers / SDK C/C++ Linux, Mac GCC 4.9+, Clang 3.4+ 0.1 操作系统Ubuntu 18.04.4 LTS (腾讯云的虚拟机) 坑1:为了支持cpp11,gcc版本要4.9+,所以一些比较老的系统比如centos7.6,gcc

不才的专栏 3158

iOS应用突然无法从App Store获取到内购(IAP)产品列表的解决

问题现象 Apple开发中,在应用中嵌入内购(IAP)功能的小伙伴们可能会发现,吃着火锅唱着歌,突然App就无法获取到产品列表了,而且产品请求操作并不会返回任何错误。 此时检查发现,并没有对App的内购逻辑做任何改动。 那么,这是什么原因导致的呢? Let’s find out!???? 问题分析 1. 排除其它原因 首先,你先得排除不是你IAP内购逻辑变更或其他原因导致的。 在SKProductsRequestDelegat代理实现的productsRequest方法里下断点: func produc

享受开发,颠倒银河 6142

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

grpc详解和安装

环境: Ubuntu18.04 cmake版本: cmake version 3.17.0 grpc API 本文主要介绍如何安装grpc, 接下来将介绍Python的具体实现和C++的具体实现 文章目录一. 问题驱动1.1 起源1.1 遇到的问题说明二. 安装1.0 安装依赖1.1 下载grpc1.2 下载protoc3.6.1版本并安装1.3 编译grpc安装1.4 测试附录a. 修改子模块的下载链接(/mnt/e/01_gRPC/grpc/.gitmodules) 一. 问题驱动 1.1 起源 问题

406156440的博客 8536

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Qt使用GRPC之grpc安装

第一步:安装grpc的工具 在此之前你需要已经安装好git、cmake、vs2015(或者其他版本)。后续相关软件的安装步骤我也会陆续写好。 1>打开https://github.com/grpc/grpc网址,点击CloneorDownload,复制网址https://github.com/grpc/grpc.git 2>新建一个文件,命名为grpc...

百无禁忌想,脚踏实地干 5039

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Ubuntu安装GRPC

1、GRPC简介 RPC的中文翻译是远程过程调用,是在服务器端程序设计常用的一种技术。对于本地过程调用,要做某件事,就在本机上执行某个代码段;对于RPC来说,服务的使用者和提供者可以位于不同的计算机上,客户端(client)只需要告诉服务器端(server)要做什么事情,这一请求通过网络发送给server,server上执行完成之后把结果返回给客户端。 Google 2015开...

蓬莱道人的博客 1万+

ubuntu 16.04 安装 gRPC for C++

gRPC没有提供C++版本的ubuntu 16.04 预编译包,所以需要通过源码自行编译安装。 官方git库地址:https://github.com/grpc/grpc 由于github上部分较大的库下载很慢,所以我把所有相关的库镜像到国内的gitee上了,地址:https://gitee.com/zch-grpc/grpc 下载代码: git clone https://gitee.com/zch-grpc/grpc.git cd grpc 选择要编译的版本,我选择的版本是v1.32.0 gi

1658

Ubuntu18.04 gRPC编译安装

Ubuntu18.04 gRPC编译安装

weixin_46935110的博客 3480

grpc java环境搭建+简单例子

之前用GRPC主要是用Golang,Java之前基本只停留在会写hello world阶段。现在工作上需要用到Java的GRPC,所以不得不从头开始。让我沮丧的是,网上现有的教程基本都跑不通,然后Github上的grpc-java库按照readme一步一步走又提示一个网站不可达(不知道是不是被墙了)。靠着摸索一步一步地把一个Java的GRPC基本的HelloWorld弄通了。我主要参考的是这篇博客...

LOVETEDA的博客 5775
上一篇: 使用docker部署简单web应用
下一篇: 系统分析与设计概念
hellowangld
博客等级 码龄10年 15粉丝 46原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hellowangld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值