マイクロサービスアーキテクチャを読んだ

マイクロサービスアーキテクチャ

新品価格
¥3,672から
(2019/9/3 21:06時点)


マスタカと言えば
小さな巨人!

そんなわけで本書を読んでみた
以下、感想


・本書の内容
マイクロサービスの作り方や注意点を述べた本
最大の難点は日本語訳がひどいこと・・・
内容わからないところは全然わからなかったりする・・・

本書を読んでためになったこと

・サービスの大きさ
・サービスの境界とビジネスの境界を同じにする
・チームで管理できる大きさにする
・2週間で書き直せる程度
等で一律に決まってない

・マイクロサービスでの技術選択
サービスごとに別々の技術を採用することが可能
モノリシックだと簡単にはいかない

・マイクロサービスでのリリース
一部のサービスだけリリースが可能
モノリシックだと1行書き換えても全部リリースになる

・ライブラリ
全部のサービスで利用できる共通ライブラリを作る場合
サービスごとに技術選択の幅を狭めることになる

・ポステルの法則
送信するものに関しては厳密に、受信するものは寛大に

・データーベースリファクタリング
モノリシックアプリ→モノリシックDB

モノリシックアプリ→スキーマ1
モノリシックアプリ→スキーマ2
にして
アプリ1→スキーマ1
アプリ2→スキーマ2
に分割

ドメインが同じであれば
DBを直接アクセスでなく
ドメインモデル経由でアクセスする

・リードレプリカの問題点
プライマリとセカンダリでレプリケーションを張り
セカンダリを読み取り専用にしてレポートを作成する
そんなスタイル多いけど問題もある。
セカンダリ用に最適化したインデックスを張りたければ
プライマリも変えないといけない。
スキーマの変更はセカンダリにも影響が出る

・データポンプ
プライマリからセカンダリにデータを流す
レプリケーションでなく流すだけ

・ブルーグリーンデプロイメント
旧バージョン
新バージョン
を並列稼働させてDNS切り替え等でどちらかに向ける
新バージョンにはトラフィックが来る前にテストの実施もできる

・監視のためのID
一番最初にリクエストを受けところでIDを発行して
それをいろんなマイクロサービスに引き渡す
これでエラーを特定したりする

・サーキットブレーカー
呼び出しエラーが多くなるとリクエストをやめる
こうすることでマイクロサービス全体が死ぬことを避けることができる

・DBのスケーリング
読み込みのスケーリングはレプリケーション
書き込みのスケーリングはシャーディング

・モデル化
技術に基づくよりも
ビジネスに基づく方がうまく行く可能性が高い
経験則だけど

途中途中日本語訳がひどいですが
がんばって考えればなんとか読めるかなぁって感じでした
他にこういう本知らないので機会があればどうぞ

関連記事:

    None Found

Pocket