Wantedly Engineering Handbook
🎧 Podcast
🍿 YouTube
🛋 Blog
💬 Twitter
検索
⌃K
Links
Wantedly Engineering Handbook
まえがき
第一部:開発チームへの案内
技術とアーキテクチャ
プロダクト概要(未執筆)
開発チームの構造
コミュニケーションの全体
ドキュメンテーション(未執筆)
カレンダー
障害対応の心構え
第二部:技術領域への案内
Apps
The System
protobufスキーマとgRPC通信
実践: gRPC in Ruby
実践: gRPC in Go
GraphQL Gateway - アプリ向けにAPIを公開する
実践: GraphQL スキーマ設計(未執筆)
APIでの認可処理 (Authorization)
マイクロサービス共通ライブラリ "servicex" の紹介
非同期メッセージング処理入門(未執筆)
バッチ処理入門(未執筆)
Infrastructure
Data
開発プロセス
開発ツール
おわりに
ロードマップ(未執筆)
Handbook の書き方
コントリビューター
付録
社内用語集
主要なGitHubレポジトリのリスト
今後の挑戦・未解決イシュー
プロダクト開発組織のバリュー
採用についての考え方
GitBook
上で動作しています
実践: gRPC in Go
本章では、 「Wantedly で Go を使って gRPC Server/Client の開発をどう行なっているのか」について紹介します。
Go で gRPC Server を作る
Wantedly では
grapi
という小さなフレームワークを使って gRPC server を実装します。 詳しくは下記のスライドおよび記事を参照してください。
grapi: Bulding JSON API server with grpc-gateway for microservices - Speaker Deck
grapi : #golang で interface driven かつボイラプレートに悩まされない API 開発
grapi が生成したコードに servicex の設定を組み込む必要があります。これは
servicex-go の README (internal)
を参照してください。
Go で gRPC Client を使う
基本的には
gRPC 公式の Quick start
と同じになります。 ただ、Ruby と同じくクライアントの初期化については servicex の実装を使う必要があります。
cc, err := grpcx.DialContext(ctx, apix.UsersGrpcBaseURLs.Default().String())
if err != nil {
// ...
}
client := users_pb.NewProfileServiceClient(cc)
話を聞きに行きたい
Slack:
#gophers
前
実践: gRPC in Ruby
次
GraphQL Gateway - アプリ向けにAPIを公開する
最終更新
1yr ago