快速入门

Quick start - 快速入门

​ 这个指南通过一个简单的工作示例让你开始使用 gRPC-Web。

先决条件

获取示例代码

​ 该示例代码是 grpc-web 仓库中的一部分。

  1. 下载该仓库的 zip 文件 并解压,或者克隆该仓库:

    1
    
    $ git clone https://github.com/grpc/grpc-web
    
  2. 切换到该仓库的根目录:

    1
    
    $ cd grpc-web
    

从浏览器中运行 Echo 示例!

​ 在 grpc-web 目录:

  1. 获取所需的包和工具:

    1
    
    $ docker-compose pull prereqs node-server envoy commonjs-client
    

    注意

    收到以下警告?你可以忽略它,以便运行该示例应用程序:

    WARNING: Some service image(s) must be built from source
    
  2. 启动服务作为后台进程:

    1
    
    $ docker-compose up -d node-server envoy commonjs-client
    
  3. 在你的浏览器中:

    你将在输入框下方看到服务器返回的消息。

​ 恭喜!你刚刚使用 gRPC 运行了一个客户端-服务端(client-server)应用程序。

​ 一旦完成后,您可通过运行以下命令关闭之前启动的服务:

1
$ docker-compose down

发生了什么?

​ 这个示例应用程序有三个关键组件(components):

  1. node-server 是一个使用 Node 实现的标准 gRPC 服务端。该服务端在端口 :9090 上监听,并实现应用程序的业务逻辑(回显客户端消息)。
  2. envoy 是 Envoy 代理。它在端口 :8080 上监听,并将浏览器的 gRPC-Web 请求转发到端口 :9090
  3. commonjs-client:该组件使用 protoc-gen-grpc-web protoc 插件生成客户端存根(stub)类,使用 webpack 编译所有的 JS 依赖项,并使用一个简单的 Web 服务器在端口 :8081 上托管静态内容(echotest.htmldist/main.js)。从网页中输入的用户消息将作为 gRPC-web 请求发送到 Envoy 代理。

下一步

最后修改 June 1, 2023: 第一次提交翻译文本 (8d42264)