簡體   English   中英

gRPC 重復字段 vs 流

[英]gRPC repeated field vs stream

嗨,我目前正在研究 grpc,我對重復字段與流的使用情況感到好奇。 例如,假設我想實現電影座位的預訂服務。 我面臨的問題是,我想通知我要為哪部電影預訂座位的服務。 我可以想到 2 個解決方案,首先:我將電影的 id 與我想預訂的每個座位一起發送,或者在流的開頭發送一個,如下所示:

rpc ReserveSeatsForShowing(stream SeatReservationRequest) returns(Reservation);

message SeatReservationRequest{
    oneof reservationOneOf{
        int32 showingId = 1;
        SeatReservation seatReservation = 2;
    }
}

或者使用這樣的重復字段

rpc ReserveSeatsForShowing(SeatReservationRequest) returns(Reservation);

message SeatReservationRequest{
    int32 showingId = 1;
    repeated SeatReservation seatReservation = 2;
}

因為我之前並沒有真正使用過 grpc,所以我不太確定要選擇哪個選項或是否有其他選項可用。

期待您的推薦

對於座位預訂,我認為使用重復字段是有意義的。 就像現實世界的場景一樣,請求就像“我想要電影 X 的座位 A、B、C”,這更像是重復的方式而不是流式傳輸。 因此,有效載荷非常小。 此外,這種方式應該使用較少的服務器資源,因為它是一個批處理過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM