Open3
Buf / Connect メモ
ツイッターにて Buf を作ってるところが出してる Connect というのを教えて貰った。
gRPC 互換だがブラウザからでも Envoy や Nginx などの Proxy なしで使える。
モチベーション
- Go と Cloudflare Workers の通信で Buf (Protocol Buffers) を使いたい
- Cloudflare Worekrs は gRPC に対応していないので積極的な採用をしづらい
- Cloudflare Workers からバックエンドの Go への通信に利用したい
- バッチ処理の Go から Cloudflare Workers 経由でバックエンドの Go への通信に利用したい
- sqlc で生成したモデルをそのまま Connect で生成して返したい
メモ
- Buf
- Connect · Simple, reliable, interoperable. A better gRPC.
- bufbuild/connect-go: Simple, reliable, interoperable. A better gRPC.
- bufbuild/connect-es: Type-safe APIs with Protobuf and TypeScript.
- walterwanderley/sqlc-connect: Generate connect-go server from SQL
- connect-es-integration/remix at main · bufbuild/connect-es-integration · GitHub
sqlc との組み合わせ
雑感。
- sqlc -> pb の入れ替え作業が発生する
- sqlc-connect ではその部分を自動生成するコードを書いている
- zap がハードコードされていたり、基本的に自分のために作ってるっぽいのでそのままは使えない
- worker では動きそうなので、普通に connect-es は cloudflare workers では問題無く動きそう