gRPC参考示例

本文以具体的proto文件为例,描述如何创建正确的gRPC压测场景。

操作步骤

若要压测某个gRPC服务中的方法,首先要上传定义该服务和方法的proto文件。

  1. 将要压测的方法定义为CreateShelf,定义该方法的proto文件为:

    syntax = "proto3";
    
    package bookstore;
    
    service Bookstore {
      rpc ListShelves (google.protobuf.Empty) returns (ListShelvesResponse) {}
      rpc CreateShelf (CreateShelfRequest) returns (Shelf) {}
    }
    
    message ListShelvesResponse {
      repeated Shelf shelves = 1;
    }
    
    message CreateShelfRequest {
      Shelf shelf = 1;
    }
    说明

    可以看到该方法的包名为bookstore,接口名为Bookstore,方法名为CreateShelf,所以在基本配置的方法名一栏应填写:bookstore.Bookstore/CreateShelf。

  2. CreateShelf的传参为CreateShelfRequest,其中有一个自定义字段shelf:

    syntax = "proto3";
    
    package bookstore;
    
    message Shelf {
      int64 id = 1;
      string theme = 2;
    }

    因此JSON格式的请求内容为:

    {
      "shelf": {
        "id": 1,
        "theme": "hello"
      }
    }
  3. 创建gRPC场景页面,单击上传proto文件,上传相应的proto文件。image

后续步骤

完成场景配置后,单击保存去压测。具体操作,请参见压测gRPC微服务