マイクロサービスは拡張する方法ではありません

多数の記事で、スケーラブルなソリューションを構築する方法として、ソースマイクロサービスなどが紹介されています。これが当てはまらない理由のいくつかの例を見てみましょう。そして、私たちはまた、古くからの質問に貢献しようとします:





モノリスとマイクロサービスのどちらが良いですか?





例を見てみましょう。





A



「ユーザーには操作を実行する権利がありますか?」という承認リクエストを実行するマイクロサービス(ラムダ)があるとします。





このようなマイクロサービスは単独で存在することはできないため、別のマイクロサービス(ラムダ)が並行して存在しB



、ユーザーと権利の対応のリストをストレージに格納します。





マイクロサービス(ラムダ)のおおよその図を図に示します。





写真1
写真1

ラムダ/マイクロサービスの両方が一緒になって、古典的なエンティティマイクロサービスを形成します。これは、「ユーザー」エンティティとの作業をカプセル化します。





ユーザーデータの変更(新しいユーザーの登録、既存のユーザーの制限など)の結果として、マイクロサービスB



はストレージ内のデータの関連性を「監視」しA



ます。これは、マイクロサービスが承認要求を満たすために使用します。





簡単な図。簡単に配置でき、確実に動作します。





, , , . "" ?





  • CPU A







  • io-read/select





  • CPU B







  • io-write





CPU . , :





写真2
2

, A



B



?





A



. RO- :





図3
3

A



, .





: , B



master- , (io-write)?





. , . multi-master:





図4
4

X



, , - ( - Y



), .





:





. .





, :





  1. CPU





  2. IO









, . , .









  1. . - ( ).





  2. .





:

, , . . , ( ) . , .





? , , ? .





, , , - .





: vs

/FaaS, :





, MVP . - MVP . , , .





- MVP. , , .





? : , :





  • , ( , )





  • ( )









- " , , ".





そして、書かれていることに基づいて、プロジェクトの立ち上げ段階での永遠の論争「モノリス対マイクロサービス」のエネルギーは、最初はスケーリングに焦点を当てたデータウェアハウスの開発に向けられるべきです。また、開発の過程で、モノリスとマイクロサービスのアーキテクチャは非常に似ています。非常に似ているため、それらを区別するのは困難です。








All Articles