用python 搭建一个grpc服务

grpc协议概述

grpc是一种基于某种协议实现不同机器间进行通信的服务框架。不同机器可以是不同的服务端、客户端,当服务端实现好某些功能后,提供一个服务接口,供不同客户端进行接口调用,从而让不同客户端都能够“享用”到服务端提供的功能。在实际业务场景,比如我是做算法的,那么当我的模型训练完成后,要放到线上让别人调用,则经常是以grpc的方式进行实现的。简单流程就是我写个服务端,实现接收客户端传来的数据,并进行模型推理计算,计算结果再返回客户端,那么客户端实际只需要提供数据即可得到它们想要的结果,中间数据的处理过程均由服务端来完成。

搭建通信过程

协议文件

定义一个文件名为recevicedata.proto文件(可能需要下载插件以识别这个文件),并输入以下代码

// 这里我们用的是proto3版本,版本号是一定要指定的哦!
syntax = "proto3";
 
import "google/protobuf/wrappers.proto";
 
service LabelService {
   
   
  /**
  样本集接口
   */
  rpc receiveSample(SampleRequestList) returns (google.protobuf.BoolValue) {
   
   }
}
message SampleRequestList {
   
   
  repeated SampleRequest reqList = 1;
}
 
message SampleRequest {
   
   
  /**
  标签值
   */
  string labelValue = 1;
  /**
  样本集数据
   */
  string text = 2;
}

运行以下命令

python -m grpc_tools.protoc -I. --python_out=../grpc_file --grpc_python_out=../grpc_file receivedata.proto

会在grpc_file文件目录下生成两个python文件

服务端

创建server.py文件,输入:

import logging
import sys
 
sys.path.append('..')
import time
import datetime
from concurrent import futures
 
import grpc_file
import jieba
import re
import grpc
 
from grpc_file import ReceiveData_pb2_grpc
# 这个地方的BoolValue可能会飘红,不用管,用就行了
from google
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值