跳至正文
Wener Notes

grpc web

约 1 分钟阅读
  • nginx
  • envoy
    • 直接使用 go 作为代理
    • 支持 unary 和 server stream
      • 基于 @improbable-eng/grpc-web
      • 接口更加友好
  • kong 插件
    • 如果没有原始 proto 只能支持二进制编码
      • application/grpw-web+proto
      • application/grpc-web
      • application/grpc-web-text
      • application/grpc-web-text+proto
    • 如果有原始编码,则可以支持转码
      • application/grpc-web+json
      • application/grpc-web-text+json
    • 如果 kong 是通过数据库多节点部署的,那比较难有 proto 文件

Awesome

Protocol

  • mode=grpcwebtext
    • Content-type: application/grpc-web-text
    • application/grpc-web-text+[proto,thrift]
    • Base64 编码
    • 支持 unary 和 server streaming
  • mode=grpcweb
    • Content-type: application/grpc-web+proto
    • application/grpc-web+[proto,json,thrift]
      • 默认 +proto
    • 二进制编码
    • 只支持 unary
buf.gen.yaml
plugins:
  - name: grpc-web
    out: gen/web
    opt: mode=grpcwebtext
  • import_style - closure,commonjs,commonjs+dts,typescript
  • mode - grpcwebtext,grpcweb

关联信息

反向链接、本文链接的其他页面和外部资料。

参考资料

GitHub8 条
其他外链3 条
最近更新commit e0af4bb编辑