#Software Design #API Architecture
Airbnb の Jessica Tai による講演で、InfoQ に掲載されている(2019-04-23)。Rails のモノリスをサービス群へ分ける移行を、エンドポイント単位・属性単位で少しずつ進め、新旧の経路の結果を比べてから切り替えた過程を述べる
- 細かい マイクロサービス には割らず、事業上の関心ごとに大きめのサービスを作り、データの読み書きはそのサービスだけが持つ
- 読み取りは新旧の応答を、書き込みは本番と別のシャドウ DB に書かせたうえでデータ層へ送った内容を、オフラインで比べる。APIゲートウェイ への移行でも、ゲートウェイで複製したリクエストの応答をモノリスの応答と比べた
- サービスの定型コードは Thrift の IDL 定義から生成し、クライアント、メトリクス、リトライ、タイムアウトを揃えた
www.infoq.com https://www.infoq.com/presentations/airbnb-services-scalability/