LeaseGrant 方法

LeaseGrant 方法创建一个租约.

  1. rpc LeaseGrant(LeaseGrantRequest) returns (LeaseGrantResponse) {}

消息体

请求的消息体是 LeaseGrantRequest:

  1. message LeaseGrantRequest {
  2. // TTL 是建议的以秒为单位的 time-to-live
  3. int64 TTL = 1;
  4. // DI 是租约的请求ID。如果ID设置为0, 则出租人(也就是etcd server)选择一个ID。
  5. int64 ID = 2;
  6. }

应答的消息体是 LeaseGrantResponse:

  1. message LeaseGrantResponse {
  2. ResponseHeader header = 1;
  3. // ID 是承认的租约的ID
  4. int64 ID = 2;
  5. // TTL 是服务器选择的以秒为单位的租约time-to-live
  6. int64 TTL = 3;
  7. string error = 4;
  8. }

两个待后续继续理解的细节:

  1. 请求中的TTL和应答中的TTL: 貌似请求只是给个建议,而服务器可能接收或者给出自己的决定。因此处理时要考虑两者不一致的情况?什么情况服务器会不依从客户端的建议。
  2. 应答中的error: 什么情况下会使用?