多数の記事で、スケーラブルなソリューションを構築する方法として、ソースマイクロサービスなどが紹介されています。これが当てはまらない理由のいくつかの例を見てみましょう。そして、私たちはまた、古くからの質問に貢献しようとします:
モノリスとマイクロサービスのどちらが良いですか?
例を見てみましょう。
A
「ユーザーには操作を実行する権利がありますか?」という承認リクエストを実行するマイクロサービス(ラムダ)があるとします。
このようなマイクロサービスは単独で存在することはできないため、別のマイクロサービス(ラムダ)が並行して存在しB
、ユーザーと権利の対応のリストをストレージに格納します。
マイクロサービス(ラムダ)のおおよその図を図に示します。
ラムダ/マイクロサービスの両方が一緒になって、古典的なエンティティマイクロサービスを形成します。これは、「ユーザー」エンティティとの作業をカプセル化します。
ユーザーデータの変更(新しいユーザーの登録、既存のユーザーの制限など)の結果として、マイクロサービスB
はストレージ内のデータの関連性を「監視」しA
ます。これは、マイクロサービスが承認要求を満たすために使用します。
簡単な図。簡単に配置でき、確実に動作します。
, , , . "" ?
CPU
A
io-read/select
CPU
B
io-write
CPU . , :
, A
B
?
A
. RO- :
A
, .
: , B
master- , (io-write)?
. , . multi-master:
X
, , - ( - Y
), .
:
. .
, :
CPU
IO
, . , .
. - ( ).
.
:
, , . . , ( ) . , .
? , , ? .
, , , - .
: vs
/FaaS, :
, MVP . - MVP . , , .
- MVP. , , .
? : , :
, ( , )
( )
- " , , ".
そして、書かれていることに基づいて、プロジェクトの立ち上げ段階での永遠の論争「モノリス対マイクロサービス」のエネルギーは、最初はスケーリングに焦点を当てたデータウェアハウスの開発に向けられるべきです。また、開発の過程で、モノリスとマイクロサービスのアーキテクチャは非常に似ています。非常に似ているため、それらを区別するのは困難です。