真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

gRPC工具怎么用

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

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、衢州ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的衢州網(wǎng)站制作公司

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

 

什么是 gRPC

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

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

使用場景

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

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

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

 

showMeTheCode

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

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

如果只是為了方便演示和了解下??梢灾苯哟伶溄?,看代碼。
這個是服務(wù)端的代碼
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工具怎么用的全部內(nèi)容了,更多與gRPC工具怎么用相關(guān)的內(nèi)容可以搜索創(chuàng)新互聯(lián)之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下創(chuàng)新互聯(lián)!


當前題目:gRPC工具怎么用
轉(zhuǎn)載來于:http://weahome.cn/article/iggshd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部