マイクロサービスを使用するための一般的な議論の1つは、スケーラビリティの向上です。しかし、私はこの議論が本当に有効かどうか疑問に思います。
10個のマイクロサービスで構成されるアプリケーションがあり、そのうちの9個がそれぞれ2つのインスタンス(冗長性のため)を持ち、そのうちの1つが負荷を処理する4つのインスタンス(スケーラビリティー)を持つとします。この場合、マイクロサービスの賛成論は、このmiroserviceを他のサービスとは無関係にスケーリングできるということです。
ただし、10個のマイクロサービスすべてが単一のモノリスのモジュールであり、このモノリスのいくつかのインスタンス(たとえば上記の合計のような22個)がデプロイされたとしましょう。システムは、1つの重要な部分の負荷を処理できる必要があります。そうするのに十分なインスタンスがあるためです。インスタンスに不要なプログラムロジックが含まれている場合、唯一の欠点は、バイナリと必要なRAMの量がわずかに大きくなることです。しかし、この場合も、ほとんどの場合、差はあまり大きくないはずです-少なくともスタックの残りの部分と比較してはなりません(Spring Bootを考えてください)。スケーリングされたモノリスの利点は、分散システムの(ほとんど)誤りを伴わないシンプルなシステムになります。
何か不足していますか?