私は誰かのつま先を踏んだり、どちらかのコンセプトの愛好家を怒らせたりしていないことを願っています
realサービス指向アーキテクチャとマイクロサービスの違いを探していましたが、明確な答えは見つかりませんでした。
私は次のようなものを読みます:
しかし、それでも、サービス指向アーキテクチャ(概念として)とマイクロサービス(概念として)のアーキテクチャの違いを明確に定義しているものはありません。
私が理解したことによると、彼らは両方とも持っています:
したがって、SOA= Microservicesに再ラベル付けすること以外に何か違いはありますか?それは、Microservicesがマクロになることを制限するために配置されたテクノロジーの制約ですか?
注:私は意見を探しているのではなく、難しい事実のみを説明します
同様の議論が スタックオーバーフローの質問 でも発生したようですが、マイクロサービスがサービス指向アーキテクチャであるかどうかにかかわらず、意見は分かれています。
SO質問からの結論:
次の条件に当てはまる場合、MSはSOAであると結論付けます。
最後の質問に対する答えが「いいえ」であることが判明した場合、マイクロサービスは複雑なワークフローシステムを処理することができません。クレジットカード管理システム、または調整システム
これが最終的な結果です[〜#〜] soa [〜#〜]との明らかな違いマイクロサービスは、
[〜#〜] soa [〜#〜]とは異なり、トラフィックの管理、メッセージ形式の変換、およびサービスの委任に気づかないサービスのコンシューマーとプロデューサーに依存します外部システムへのオーケストレーション、例えばESB、サービスオーケストレーター、メッセージブローカー。
サービスプロバイダー、1つのことだけを行う
プロジェクトの結果が広範囲に及ぶ主な違いは、マイクロサービスではこれらのサービスプロバイダーが独立して展開およびスケーラブルであることです。
俊敏性を高めることができるので、これは素晴らしいことです。サービスを変更する必要がある場合は、そのサービスを変更するだけで、種類は変更されません。新しいフレームワークまたは言語を試してみたい場合は、その1つのサービスをドロップインで置き換えてください。突然100倍の容量が必要になった場合は、その流入を処理するために、そのサービスで新しいマシンを起動してください。何かをバージョン管理したい場合は、wholeアプリに触れずにバージョン管理を行ってください。 And監視、計測、チーム間での分割、廃止...
しかし、それはいくつかの重大な影響を伴います: