了解gRPC的mustEmbedUnimplemented方法*
在最近的更新中,gRPC-gomplemusted >*方法以確保其向前相容性伺服器。但它到底是做什麼的?
在MustEmbedUnimplemented*
之前,註冊伺服器實作需要直接註冊它,如下所示:pb.RegisterFooBarServiceServer( server, &FooBarServer{}, // or whatever you use to construct the server impl )
引入MustEmbedUnimplemented*
使用更新的 protoc-gen-grpc-go 編譯器,前向相容性成為預設值。這表示:配置前向相容性
此外,使用時可以透過設定以下選項來停用向前相容性protoc-gen-grpc-go:protoc --go-grpc_out=require_unimplemented_servers=false:.
好處
mustEmbedUnimplemented*確保伺服器始終向前相容,防止導致意外錯誤通過未實現的方法。透過選擇退出 Unsafe FooBarServiceServer,開發人員可以保持向後相容性,同時仍遵守前向相容性原則。
以上是gRPC 的「mustEmbedUnimplemented」方法是什麼以及它如何確保前向相容性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!