Go 語言系列(十六):gRPC 入門
這是 Go 語言從零到 Web 應用系列的第十六篇。前面我們用 REST API 建構服務,現在來學 Go 的另一個強項——gRPC,了解為什麼它在微服務架構中如此受歡迎。 gRPC vs REST 面向 REST gRPC 協議 HTTP/1.1(通常) HTTP/2 資料格式 JSON(文字) Protocol Buffers(二進位) 型別安全 弱(需要手動解析) 強(自動產生型別) 串流 不原生支持 原生支持雙向串流 效能 較慢(JSON 解析) 快 3-10 倍 瀏覽器支持 原生支持 需要 gRPC-Web 適用場景 公開 API、前端 微服務間通訊 什麼時候用 gRPC: 微服務之間的內部通訊 需要高效能和低延遲 需要串流(streaming) 強型別的服務契約 Protocol Buffers 安裝 # 安裝 protoc 編譯器 brew install protobuf # macOS # 安裝 Go 的 protoc plugin go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest 確保 $GOPATH/bin 在你的 PATH 中。 ...