91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

gRPC工具怎么用

發布時間:2022-01-15 18:14:33 來源:億速云 閱讀:162 作者:柒染 欄目:大數據

今天給大家介紹一下gRPC工具怎么用。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

最近寫自動化測試腳本的時候發現,從安卓設備上用am執行完成,獲取返回值是有問題的,沒法獲取到這個值,都是一堆TestRunner的信息。怎么解決喃?那就試試gRPC有沒有能力來搞定~,順便給自己充 5.2mA 的電。

 

什么是 gRPC

C/S模型,google 出品,逼格高!廢話不錯說,show me the code! 錯了,應該是模型圖。

gRPC工具怎么用  
在這里插入圖片描述
 

使用場景

在簡書找到一個文章,我簡單總結下,就是有安全性和性能的高要求。

需要對接口進行嚴格約束的情況,比如我們提供了一個公共的服務,很多人,甚至公司外部的人也可以訪問這個服務,這時對于接口我們希望有更加嚴格的約束,我們不希望客戶端給我們傳遞任意的數據,尤其是考慮到安全性的因素,我們通常需要對接口進行更加嚴格的約束。這時gRPC就可以通過protobuf來提供嚴格的接口約束。
對于性能有更高的要求時。有時我們的服務需要傳遞大量的數據,而又希望不影響我們的性能,這個時候也可以考慮gRPC服務,因為通過protobuf我們可以將數據壓縮編碼轉化為二進制格式,通常傳遞的數據量要小得多,而且通過http2我們可以實現異步的請求,從而大大提高了通信效率。

但是,通常我們不會去單獨使用gRPC,而是將gRPC作為一個部件進行使用,這是因為在生產環境,我們面對大并發的情況下,需要使用分布式系統來去處理,而gRPC并沒有提供分布式系統相關的一些必要組件。而且,真正的線上服務還需要提供包括負載均衡,限流熔斷,監控報警,服務注冊和發現等等必要的組件。不過,這就不屬于本篇文章討論的主題了,我們還是先繼續看下如何使用gRPC。

 

showMeTheCode

這個里面有非常全面的step-by-step的doc,包括安裝啥的都有,所以非常全面了。

https://grpc.io/docs/quickstart/python/

如果只是為了方便演示和了解下。可以直接戳鏈接,看代碼。
這個是服務端的代碼
https://github.com/grpc/grpc/blob/master/examples/python/helloworld/greeter_server.py

from concurrent import futures
import logging

import grpc

import helloworld_pb2
import helloworld_pb2_grpc


class Greeter(helloworld_pb2_grpc.GreeterServicer):

    def SayHello(self, request, context):
        return helloworld_pb2.HelloReply(message='Hello, %s!' % request.name)


def serve():
    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    helloworld_pb2_grpc.add_GreeterServicer_to_server(Greeter(), server)
    server.add_insecure_port('[::]:50051')
    server.start()
    server.wait_for_termination()


if __name__ == '__main__':
    logging.basicConfig()
    serve()
 

這個是客戶端的代碼

from __future__ import print_function
import logging

import grpc

import helloworld_pb2
import helloworld_pb2_grpc


def run():
    # NOTE(gRPC Python Team): .close() is possible on a channel and should be
    # used in circumstances in which the with statement does not fit the needs
    # of the code.
    with grpc.insecure_channel('localhost:50051') as channel:
        stub = helloworld_pb2_grpc.GreeterStub(channel)
        response = stub.SayHello(helloworld_pb2.HelloRequest(name='you'))
    print("Greeter client received: " + response.message)


if __name__ == '__main__':
    logging.basicConfig()
    run()

以上就是gRPC工具怎么用的全部內容了,更多與gRPC工具怎么用相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德州市| 淅川县| 铜陵市| 江达县| 苏尼特右旗| 克什克腾旗| 柳林县| 舒兰市| 乃东县| 河南省| 娱乐| 菏泽市| 探索| 勐海县| 柏乡县| 资源县| 忻州市| 淄博市| 留坝县| 鹿泉市| 肥东县| 茌平县| 凤凰县| 白河县| 马关县| 石渠县| 綦江县| 梧州市| 慈利县| 上高县| 新安县| 邵武市| 常州市| 武乡县| 图木舒克市| 阿鲁科尔沁旗| 庄河市| 正蓝旗| 泸水县| 宾阳县| 屏边|