モノレポの関連情報をまとめる
9月の連休中にモノレポの勉強のために公開されている記事やツールを見てメモをつけていく
知り合いが教えてくれた、モノレポに関する情報やツールがまとまっている模様
リブセンスのモノレポ知見の記事
マイクロサービスの文脈ででてくるgRPCを学ぶ
gRPCで扱う技術
- HTTP/2 : gRPCではHTTP/2のPOSTリクエストとそのレスポンスを使って実現している
- HTTP/2ではクライアントは呼び出す関数の情報としてリクエストのパス煮含め、呼び出す関数の引数はリクエストボディに含める、レスポンスはレスポンスボディに戻り地を含める
- Protocol Buffers : 呼び出した関数の引数・戻り値の情報は、そのままプレーンテキストで書くのではなく、Protocol Buffersというシリアライズ方式を用いて変換した内容をリクエスト・レスポンスボディに含めること
Protocol Buffers
そもそも Protocol Buffers がなにそれ状態だったからかんたんに理解するう
プロトコル バッファは、データ構造スキーマとプログラミング インターフェースを定義するための、言語中立でプラットフォームに依存しないシンプルなインターフェース定義言語(IDL)です。プロトコル バッファは、バイナリとテキストの両方の送信形式をサポートし、さまざまなプラットフォーム上のさまざまなワイヤ プロトコルで動作します
Protocol BuffersはGoogleではデータの保存や構造化されたあらゆる種類の情報の交換で用いられている。Protocol Buffersサーバはカスタマイズされた遠隔手続き呼出し (RPC) に基づいており、Googleにおける全てのマシン間通信で実際に用いられている[3]。
データ構造およびサービスはプロトコル定義ファイル (Proto Definition file (.proto)) でデザインされ、protocプログラムによりコンパイルされる。このコンパイル作業により目的のサービスに適合するコードが生成される。例として、「example.proto」は「example.pb.cc」および「example.pb.h」を生成し、この中には「example.proto」で定義されたメッセージおよびサービスのためのC++クラスが定義されている。
勉強で参考にしたもの
protoファイルでProcedureを定義する
手続きの定義をgRPCではprotoファイルを使う
- Protocol Buffer Languageのバージョン指定:
proto2
,proto3
- パッケージ
- サービスとメソッドの定義: gRPCで呼び出すProcedure(関数)をメソッド、そのメソッドをいくつかまとめたものをサービスと呼ぶ
- いろいろな型がある
- Timestamp
- Empty
- google.protobuf
- int
- bool
- enum
勉強で参考にしたもの
長くオープンにしているのもあれなので、↓のを最後にクローズ