miyasakura’s diary

日記です。

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

www.oreilly.co.jp

やや流し読みですが。

全体的にマイクロサービスをやる上で気をつけるべきところを紹介してはくれているんですが、実際にやって大変そうだなというところは、大変だから頑張ってね、くらいしか書かれていないので実践的とまではいかない感じ。

考えなきゃいけない部分が基礎的なこと含めて色々と書かれているので、マイクロサービスやるにあたっては読んでおいて良いはず。

以下はメモ。自分が気になったところだけメモしつつ読もうと思ったけど途中で面倒になったので適当です。

  • サービスを分離する大きさ
    • 2週間で作り直せる大きさ
    • あるいは感覚的に十分に小さいと感じる大きさ
  • サービス内のことはそれほど気にしなくて良い。サービス間は心配する
    • サービス間の通信がRESTだったりJava RMIだったりした場合の大変さ
  • 戦略的目標←アーキテクチャ上の原則←設計とデリバリのプラクティス
  • 非同期イベントベース連携
    • マイクロサービスがイベントを発行する方法と、コンシューマがそのイベントを発生したことを検出する方法について
    • RabbitMQなどのメッセージブローカー
  • 4章 結合
    • 1つのマイクロサービス内ではDRYを破らないが、すべてのサービスにわたるDRYの違反には寛大に対処する
      • サービス間の結合が多すぎることに寄る外はコードの重複が引き起こす問題よりもはるかに悪くなる
    • クライアントライブラリ
    • ついサーバにあるべきロジックがクライアントに紛れ込んでしまう
    • AWSのモデルが好き
      • コミュニティや開発者以外のAWSメンバーが開発することで落とし穴を回避
      • クライアントがアップグレードを行うタイミングを管理できる
    • バージョニング
  • 5章 モノリスの分離