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

マイクロサービスについて、過去に調べた内容をまとめる

マイクロサービスについて、過去に調べた内容を「はてな」に集約させることにした。

そういうわけで、手始めに『マイクロサービスアーキテクチャ』を読んだ内容を移植する。

 

1章 マイクロサービス

マイクロサービスは、協調して動作する小規模で自律的なサービスです。

  → SOA(Service-Oriented Architecture)の実現手法。

基本思想は「小さく、かつ1つの役割に専念」

 凝集性を高めることが重要

 単一責任原則:変更する理由が同じものは集める、変更する理由が違うものは分ける

f:id:GearDolls:20201224215148p:plain

 

「何をどの程度小さくすれば良いのか?」

 

何を?:コード行数?コンポーネント*1、サイズ?

どの程度?:大きいと感じなくなるまで・・・「開発チームに依存する」!!
 指標として

RealEstate.com.auのJon Eavesは、マイクロサービスを「2週間で書き直せるもの」と特徴付けています。

 

コンポーネント分離の黄金律

 他には何も変更せずに、単独でサービスの変更やデプロイを行える

 

 

go on developing...

 参考

 

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

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

  • 作者:Sam Newman
  • 発売日: 2016/02/26
  • メディア: 単行本(ソフトカバー)
 

 

*1:『Code Complete 第2版 完全なプログラミングを目指して』では、デプロイ可能な単位だと説明があった(気がする)。