午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 用Python編寫簡單的gRPC服務的詳細過程

用Python編寫簡單的gRPC服務的詳細過程

熱門標簽:長春極信防封電銷卡批發 如何地圖標注公司 上海正規的外呼系統最新報價 銀川電話機器人電話 外賣地址有什么地圖標注 電銷機器人錄音要學習什么 預覽式外呼系統 煙臺電話外呼營銷系統 企業彩鈴地圖標注

gRPC 是可以在任何環境中運行的現代開源高性能 RPC 框架。它可以通過可插拔的支持來有效地連接數據中心內和跨數據中心的服務,以實現負載平衡,跟蹤,運行狀況檢查和身份驗證。它也適用于分布式計算的最后一英里,以將設備,移動應用程序和瀏覽器連接到后端服務。

用Python編寫簡單的gRPC服務

grpc官網python參考:https://www.grpc.io/docs/languages/python/quickstart/
http://grpc.github.io/grpc/python/grpc.html

  • Python 3.5 or higher
  • pip version 9.0.1 or higher

安裝gRPC相關的庫
grpcio-tools主要用根據我們的protocol buffer定義來生成Python代碼,官方解釋是Protobuf code generator for gRPC。

#apt install python3-pip
pip install grpcio
pip install protobuf
pip install grpcio_tools

編寫proto文件

proto是一個協議文件,客戶端和服務器的通信接口正是通過proto文件協定的,可以根據不同語言生成對應語言的代碼文件。

heartbeat.proto文件:

syntax = "proto3";

message HeartbeatRequest{
	string Host      = 1;
	int32  Mem       = 2;
	int32  Disk      = 3;
	int32  Cpu       = 4;
	int64  Timestamp = 5;
	int64  Seq       = 6;

}

message HeartbeatResponse{
	int32  ErrCode   = 1;
	string ErrMsg    = 2;
}

heartbeat_service.proto

syntax = "proto3";

import "heartbeat.proto";

// HeartBeatService
service HeartBeatService{
    rpc HeartBeat(HeartbeatRequest) returns(HeartbeatResponse){}
}

核心 就是一個 用于生成需要用到數據類型的文件;一個就是用于生成相關調用方法的類。 一個定義數據類型,一個用于定義方法。

通過proto生成.py文件

proto文件需要通過protoc生成對應的.py文件。protoc的下載地址 。下載解壓之后,將解壓目錄添加到path的環境變量中。

pip install grpcio
install grpcio-tools
#pip  install --upgrade protobuf

注意:【下面命令是在proto文件所在的目錄執行的,-I 用來指定proto的目錄是 . 】

python -m grpc_tools.protoc -I=. --python_out=.. heartbeat.proto
python -m grpc_tools.protoc -I=. --grpc_python_out=.. heartbeat_service.proto
  • -I 指定proto所在目錄
  • -m 指定通過protoc生成py文件
  • –python_out生成py文件的輸出路徑
  • heartbeat.proto、heartbeat_service.proto為 輸入的proto文件

  • 生成的文件名中 xxx_pb2.py 就是我們剛才創建數據結構文件,里面有定義函數參數和返回數據結構; xxx_pb2_grpc.py 就是我們定義的函數,定義了我們客服端rpc將來要調用方法。

編譯客戶端和服務端代碼

服務端

#!/usr/bin/env python
# coding=utf-8
import sys
from concurrent import futures
import time

import grpc
from google.protobuf.json_format import MessageToJson

import heartbeat_service_pb2_grpc
import heartbeat_pb2
from lib.core.log import LOGGER


class HeartBeatSrv(heartbeat_service_pb2_grpc.HeartBeatServiceServicer):
    def HeartBeat(self, msg, context):
        try:
            # LOGGER.info(MessageToJson(msg, preserving_proto_field_name=True))
            body = MessageToJson(msg, preserving_proto_field_name=True)
            LOGGER.info("Get Heartbeat Request: %s", body)

            response = heartbeat_pb2.HeartbeatResponse()
            response.ErrCode = 0000
            response.ErrMsg = "success"

            return response
        except Exception as e:
            print("exception in heartbeat")
            LOGGER.error("RPC Service exception: %s", e)
            response = heartbeat_pb2.HeartbeatResponse()
            response.ErrCode = 500
            response.ErrMsg = "rpc error: %s" % e
            return response


def server(host, rpc_port):
    # 這里通過thread pool來并發處理server的任務
    # 定義服務器并設置最大連接數,concurrent.futures是一個并發庫,類似于線程池的概念
    grpc_server = grpc.server(futures.ThreadPoolExecutor(max_workers=100))
    # 不使用SSL
    grpc_server.add_insecure_port('[::]' + ':' + str(rpc_port))
    # This method is only safe to call before the server is started.
    #  綁定處理器HeartBeatSrv(自己實現了處理函數)
    heartbeat_service_pb2_grpc.add_HeartBeatServiceServicer_to_server(HeartBeatSrv(), grpc_server)
    # 該方法只能調用一次, start() 不會阻塞
    # 啟動服務器
    grpc_server.start()
    LOGGER.info("server start...")
    while 1:
        time.sleep(10)
    #grpc_server.wait_for_termination()


def main():
    try:
        LOGGER.info("begin start server")

        rpc_port = 8090
        host = "::"
        server(host, rpc_port)

    except Exception as e:
        LOGGER.error("server start error: %s", e)
        time.sleep(5)


if __name__ == '__main__':
    LOGGER.info(sys.path)
    main()

客戶端

from time import sleep

import grpc

import heartbeat_pb2
import heartbeat_service_pb2_grpc
from lib.core.log import LOGGER


def run(seq):
    option = [('grpc.keepalive_timeout_ms', 10000)]
    #
    with grpc.insecure_channel(target='127.0.0.1:8090', options=option) as channel:
        # 客戶端實例
        stub = heartbeat_service_pb2_grpc.HeartBeatServiceStub(channel)
        # stub調用服務端方法
        response = stub.HeartBeat(heartbeat_pb2.HeartbeatRequest(Host='hello grpc', Seq=seq), timeout=10)
        LOGGER.info("response ErrCode:%s", response.ErrCode)


if __name__ == '__main__':

    for i in range(1, 10000):
        LOGGER.info("i: %s", i)
        sleep(3)
        run(i)

參考

使用Python實現gRPC通信
參考URL: https://zhuanlan.zhihu.com/p/363810793
python grpc搭構服務
https://www.jianshu.com/p/10d9ca034567
python grpc 服務端和客戶端調用demo
參考URL: https://blog.csdn.net/qq_42363032/article/details/115282405

到此這篇關于用Python編寫簡單的gRPC服務的文章就介紹到這了,更多相關Python gRPC服務內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:佳木斯 潮州 西寧 宜昌 湖北 上饒 珠海 盤錦

巨人網絡通訊聲明:本文標題《用Python編寫簡單的gRPC服務的詳細過程》,本文關鍵詞  用,Python,編寫,簡單,的,gRPC,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用Python編寫簡單的gRPC服務的詳細過程》相關的同類信息!
  • 本頁收集關于用Python編寫簡單的gRPC服務的詳細過程的相關信息資訊供網民參考!
  • 推薦文章
    亚洲成色www8888| 亚洲第九十九页| 欧美大黄免费观看| 亚洲成人福利在线观看| 成人av动漫在线| 欧美专区中文字幕| 欧美日韩在线视频免费| 欧美男人的天堂一二区| 久草热视频在线观看| 国产精品一区二区久久不卡| 国产不卡一区二区在线播放| 亚洲高清毛片一区二区| 亚洲国产精彩中文乱码av| 四川一级毛毛片| 亚洲精品视频在线观看网站| 亚洲一区二区三区精品视频| 久久九九电影| 国产精品国产亚洲伊人久久| 日本天堂网在线| 亚洲欧美日韩视频一区| 精品无码一区二区三区| 91久久精品一区二区| 日本激情视频在线| 国产精品女主播在线观看| 一区不卡字幕| 国产91丝袜在线播放九色| 国产日产久久高清欧美一区| 探花国产精品一区二区| 久久精品国产91精品亚洲| 亚洲 欧美 国产 另类| 欧美老肥妇做.爰bbww| 性生活免费在线观看| 中文字幕一区二区三| 欧美日韩一区二区三区电影| 粉嫩嫩av羞羞动漫久久久| 国产尤物91| 免费欧美日韩国产三级电影| 91免费看网站| 日韩成人午夜电影| 91在线网站视频| 天堂av中文字幕| 国产精品香蕉国产| 亚洲xxx在线| 国产精品日韩欧美| a在线观看免费| 国产精品1区2区在线观看| 国内精品久久久久久久久久| 97视频在线观看网址| 成人黄色免费网| 欧美精品成人91久久久久久久| 久久精品视频1| 欧美黑人性生活视频| 中文字幕xxxx| 69av视频在线播放| 国产福利免费视频| 国产欧美日韩免费| 天天操天天干天天舔| 91视频最新| 狠狠色丁香久久婷婷综合丁香| 国产欧美日韩综合一区在线观看| 精品在线播放午夜| 日本视频一区在线观看| 91视频91自| 日韩网站在线免费观看| 一区二区高清视频在线观看| 男人的天堂最新网址| 欧美在线999| av网在线播放| 亚洲香蕉成人av网站在线观看| 日产电影一区二区三区| 国模精品系列视频| 蜜臀av在线观看| 国产精品一区二区你懂得| 国产成人精品免费视频网站| 日韩尤物视频| 欧美国产成人精品| 黄色aaa级片| 欧美主播一区二区三区| 日本美女xxx| 色偷偷av一区二区三区乱| 一级片在线观看视频| 成人免费网视频| 高清shemale亚洲人妖| 欧美美女黄色网| 五月天久久比比资源色| 欧美高清性xxxx| 亚洲精品中文字幕有码专区| 波多野结衣一本一道| 国产精品美女主播| 精品一区二区久久久| 日本三级中文字幕在线观看| 亚洲国产精品久久久久秋霞影院| 伊人网综合视频| 一色桃子一区二区| 99精品在线视频观看| 久久国产精品一区二区三区四区| 欧美高清在线视频| 久久国产免费视频| 亚洲午夜国产成人av电影男同| 91成人在线免费| 蜜桃成人在线| 亚洲欧美另类小说视频| 国产精品无码毛片| 久久精品国产69国产精品亚洲| 六月婷婷综合网| 一区二区三区欧美在线| 一本大道久久a久久综合| 欧美久久久久久久久久久久| 日韩av片电影专区| av中文字幕一区| 91亚洲一区二区| 日韩在线观看免费全| 日韩精品一区第一页| 99视频在线免费播放| 精品欧美乱码久久久久久| 中文字幕一区二区三区四区免费看 | 日本不卡视频一区| 久久在精品线影院精品国产| 另类小说视频一区二区| 高清一区二区视频| 伊人久久免费视频| 久久欧美肥婆一二区| 日韩成人午夜影院| 欧美一区二区福利视频| 91禁在线观看| 日本国产中文字幕| 亚洲国产欧美一区| 五月天婷婷社区| 欧美私人情侣网站| 中文字幕精品在线| 精品一区二区三区在线观看| 国产真人无码作爱视频免费| 国产亚洲精品久久| 精品在线亚洲视频| 特级特黄刘亦菲aaa级| 97国产在线观看| 欧美国产一区二区| 亚洲欧美精品aaaaaa片| 亚洲一区二区三区xxx视频| 亚洲国产一区二区在线播放| 精品无码人妻一区二区三区品| 精品久久久久久一区二区里番| 色综合中文综合网| 青青草免费观看视频| 性欧美18一19内谢| 亚洲国产第一页| 麻豆极品一区二区三区| 人妻 丝袜美腿 中文字幕| 国产97人人超碰caoprom| 亚洲精品国产视频| 天堂中文在线网| 亚洲一区美女| 亚洲国产91精品在线观看| 天天操天天干天天爽| 免费av不卡在线| 日本精品免费一区二区三区| 一区二区三区中文字幕精品精品 | 91精品久久久久久久久久久| 亚洲高清中文字幕| 姑娘第5集在线观看免费好剧| 性欧美videosex高清少妇| 国产精品久久久久久久蜜臀| 久久精品性爱视频| 中文字幕成人一区| 亚洲午夜av电影| 久久亚洲二区三区| 国产无套内射又大又猛又粗又爽| 中文字幕中文字幕在线中一区高清| 亚洲人成电影在线播放| 播五月开心婷婷综合| 久久艹精品视频| 久久香蕉视频网站| 欧美激情在线视频二区| 亚洲黄网站在线观看| 国产精品久久777777换脸| 中文字幕亚洲欧洲| 亚洲自拍偷拍视频| 日韩欧美激情在线| 99免费精品视频| 一级做a爰片久久毛片| 五月婷婷深爱五月| 91久久精品久久国产性色也91| 欧美久久久影院| 国产成人在线视频播放| 免费视频一二三区| 能在线观看的av| www日韩av| 亚洲日韩中文字幕| 亚洲欧美综合色| 精品人妻一区二区三区浪潮在线| 日本少妇一级片| 欧美日韩视频在线一区二区观看视频| av片在线免费看| 一区精品在线| 66m—66摸成人免费视频| 欧美亚洲综合一区| 国产99久久久国产精品| 一区二区三区福利视频| 在线播放av中文字幕| 久久精品第九区免费观看| 日韩在线免费av| 欧美视频精品一区| 国产精品99久久久久久似苏梦涵| 中国一级免费毛片| 手机在线国产视频| 欧美在线视频一区二区三区| 久久福利网址导航| 欧亚洲嫩模精品一区三区| 国产成人啪午夜精品网站男同| 久久精品国产成人av| www.久久com| 亚洲欧美日韩精品久久久 | 亚洲精品国产免费| 少妇精品高潮欲妇又嫩中文字幕| 色哟哟视频在线| 日韩视频一二三| 成人国产在线视频| 深夜福利一区二区| 91福利国产精品| 久久精品人人做| 亚洲 另类 春色 国产| 青青操视频在线播放| 国产免费中文字幕| 香蕉视频在线网址| 91亚洲精品视频| 欧美xxxx做受欧美.88| 3d成人h动漫网站入口| 亚洲同性gay激情无套| 久久99国产精品麻豆| 在线视频欧美亚洲| 一区二区国产精品精华液| 亚洲欧美国产中文| 久草精品电影| 国产成人综合亚洲| 中日韩美女免费视频网址在线观看 | 精品成人在线观看| 精品美女永久免费视频| 久久网这里都是精品| 久久精品男女| 国产精品久久久久久在线| 欧美精品99久久久| 国产精品无码电影| 黄色免费网址大全| 日韩欧美一级在线| 精品无人乱码一区二区三区的优势| 热久久视久久精品18亚洲精品| 亚洲欧美激情视频| 欧美一区二区三区的| 欧美日韩国产在线看| 国产精品久久久久久妇女6080| 国产成人精品免费在线| 久久精品30| japanese国产| 亚洲av无码乱码国产精品fc2| 欧美成人一二三区| 成人免费无遮挡无码黄漫视频| 91小视频在线播放| 黄色一级二级三级| 久久久久久久久久网| 最新精品视频| 五月婷婷一区| 久久精品第九区免费观看| 91免费版黄色| 国产这里只有精品| 国产成人91久久精品| 国产精品毛片无遮挡高清| 91香蕉国产在线观看软件| 国产福利一区二区三区视频 | 中文字幕不卡一区| 国产亚洲欧美日韩日本| 成+人+亚洲+综合天堂| 国产成人免费在线观看不卡| 美女视频一区二区| 麻豆中文一区二区| 免费日本视频一区| 久久国产乱子精品免费女| 麻豆精品国产传媒mv男同| 美女视频黄久久| 精品一区二区综合| 久久99精品国产.久久久久久| 久久99这里只有精品| 久草在线在线精品观看| 蓝色福利精品导航| 国产一区二区福利视频| 综合久久久久久| 91美女视频网站| 青草国产精品久久久久久| 日韩国产欧美一区二区三区| 蜜臀精品一区二区三区在线观看| 久久99精品网久久| 国产激情精品久久久第一区二区| 成人免费毛片app| 久久久精品国产免费观看同学| 欧美国产禁国产网站cc| 《视频一区视频二区| 亚洲国产日韩一级| 日韩欧美国产成人| 欧美日韩成人综合在线一区二区| 777色狠狠一区二区三区| 亚洲黄在线观看| 正在播放欧美视频| 久久久久久久一区二区| 国产精品自在线| 国新精品乱码一区二区三区18 | 欧美牲交a欧美牲交aⅴ免费真| 艹b视频在线观看| 亚洲色图14p| 欧美精品一区二区蜜桃| 中文在线资源天堂| 久久精品一区二区国产| 国产成人精品网址| 国产精品久久久久久久久久久免费看| 亚洲一区二区三区四区不卡| 欧美日韩一卡二卡三卡| 亚洲欧洲午夜一线一品| 久久欧美在线电影| 97se国产在线视频| 黑人巨大国产9丨视频| 五月天av在线播放| 精品无码人妻一区二区免费蜜桃| 国产小视频在线看| 亚洲第一视频在线| 高潮精品一区videoshd| 亚洲精品亚洲人成人网在线播放| 欧美日韩色一区| 亚洲综合自拍偷拍| 久久久天堂av| 欧美视频一二三| 亚洲色图美腿丝袜| 国产精品久久久精品| 日韩精品大片| 五月天av在线播放| 国产精品久久久久久久精| 国产手机精品视频| av在线综合网| 日韩欧美精品中文字幕| 在线观看国产精品日韩av| 成人激情免费在线| 99er在线视频| 强伦人妻一区二区三区| 综合久久中文字幕| 国产在线视视频有精品| 亚洲一区二区三区视频在线播放| 一区二区三区毛片| 欧美一级电影网站| 久久久久免费精品国产| 日本在线播放一区| 中文字幕线观看| 日韩精品――中文字幕| 青青草国产精品97视觉盛宴| 亚洲免费色视频| 亚洲乱码国产乱码精品精天堂| 国产精品露脸自拍| 成年人三级视频| 国产激情第一页| 中文字幕你懂的| 视频一区在线视频| 一区二区三区高清在线| 精品国产露脸精彩对白| 国产精品直播网红| 国产原创中文在线观看 | 国模杨依粉嫩蝴蝶150p| 在线免费观看视频| 空姐吹箫视频大全| 中文字幕一区二区三区视频| 日韩精品极品在线观看| 69堂成人精品视频免费| 亚欧在线免费观看| 日韩精品成人一区| 亚洲欧洲精品视频| 午夜一区二区三区在线观看| xvideos亚洲| 亚洲国产激情一区二区三区| 中文字幕乱码一区| 亚洲狼人综合网| 亚洲午夜久久久久久久久久久| 久久综合网hezyo| 一区精品视频| 亚洲欧美精品久久| 精品在线观看视频| 欧美日韩国产不卡| 国产精品嫩草视频| 五月婷婷丁香综合网| 亚洲av无码不卡| 国产精品视频观看| 国产一区二区三区免费视频| 97久草视频| 国产精品无码一区二区三区免费 | 日韩黄色片视频| 日本熟妇成熟毛茸茸| 久久久精品国产99久久精品芒果| 日韩成人在线视频观看| 久久久久无码国产精品一区| 私密视频在线观看| 日韩国产欧美三级| 欧美精品在线一区二区三区| 亚洲一区二区三| 97人妻精品一区二区三区免费| 亚洲 国产 欧美 日韩| 一本大道久久a久久综合| 国产裸体写真av一区二区| 欧美性受xxxxxx黑人xyx性爽| 国产91免费看| 色婷婷激情一区二区三区| 成人在线中文字幕| 波多野结衣三级视频| 日本在线播放一区二区三区| 91精品国产综合久久久久久| 成人网页在线免费观看| xxxwww国产|