クラウド アプリケーション開発のためのマイクロサービス アーキテクチャは、疎結合された小さな (「マイクロ」) サービスのコレクションとしてソフトウェア アプリケーションを構築するアーキテクチャ アプローチです。アーキテクチャ内の各サービスは、データベースへの在庫項目の追加や新規顧客の信用度の確認など、特定のビジネス機能または機能を表します。これらは通常、独立したプロセスとして実行され、アプリケーション プログラミング インターフェイスまたは軽量プロトコルを介して他のサービスと通信します。 マイクロサービスは、サービス指向アーキテクチャと、より優れたアプリケーションを構築する必要性から生まれました。これが新しいアプリケーションを構築するための最も人気のあるアプローチになったのは当然のことです。マイクロサービス アーキテクチャは疎結合と分離を提供するため、私はマイクロサービス アーキテクチャを使用するのが好きです。 利点サービスは疎結合されるように設計されています。他のサービスの内部実装の詳細に直接依存することなく、独立して実行できます。サービスにより、チームはサービスを独立して開発、展開、拡張できるようになり、俊敏性が向上します。サービスは独立して実行できるため、回復力の向上などの追加の利点が得られます。 これは、疎結合に直接関連する独立性と分離性の利点を示しています。各サービスは個別に開発、テスト、展開、拡張できます。 正直に言うと、これが発売されたとき、革命的なものではありませんでした。これは、1970 年代の構造化開発から始まり、オブジェクト指向開発、コンポーネントベースの開発、サービスの使用、マイクロサービスへと続く、アーキテクチャのベスト プラクティスの進化のようなものです。それぞれのアプローチは次のような影響を及ぼします。今後改善できればと思います。 デメリットもちろん、開発においてはただで得られるものはない。それぞれの方法、ツール、言語、アーキテクチャには長所と短所があります。これらを適用する場合、開発者はマイクロサービスの欠点がプロジェクトに与える影響も考慮する必要があります。これらの欠点は、マイクロサービスを取り巻く誇大宣伝の中で見過ごされることがあります。マイクロサービス アーキテクチャの欠点を探ってみましょう。 最大の問題は複雑さです。マイクロサービスはモノリシックアーキテクチャよりも複雑です。システムは多数のサービスに分割されます。アーキテクチャはより複雑になり、異なるサービス間の相互作用を理解することが困難になる可能性があります。 マイクロサービスを展開するためのプラットフォームとして複雑な分散システムも扱う必要があることを考慮すると、これはさらに困難になります。これは、ほぼすべての企業が複数のクラウドを構築および展開する際に生じる副産物です。 配布も考慮すべきもう一つの欠点です。マイクロサービスを使用する場合、サービス間の通信はネットワーク経由で行われることが多く、遅延、ネットワーク障害、機器への負荷の増加を引き起こす可能性があります。このため、マイクロサービス ベースのアプリケーションをデプロイした後はネットワークをアップグレードする必要があり、これによりアプリケーション コストがさらに増加します。 データ管理もより複雑になります。マイクロサービスには独自のデータベースまたはデータ ストアが存在する場合があり、さまざまなサービス間でのデータの一貫性がより複雑になります。データの整合性を維持するには多くの場合、余分な労力が必要ですが、企業は損失が発生するまでこれに気付かないことがよくあります。これは確かに解決可能ですが、ほとんどの人が理解しているよりもはるかに多くのリソースが必要になります。 サービスへの依存は企業にとって問題を引き起こす可能性があります。マイクロサービスはアプリケーション プログラム インターフェイス (API) を介して対話するため、1 つのサービスの変更が他のサービスに影響を及ぼす可能性があります。結果はどうですか?特にアップグレードやサービスの変更時に発生するバージョンの問題と潜在的な互換性の問題。 最後に、リソースのオーバーヘッドがあります。デプロイされたほとんどのアプリケーションでは、複数のマイクロサービス インスタンスを実行すると、単一のモノリシック アプリケーションよりも多くのリソースが消費されます。特に効率的に管理されていない場合、インフラストラクチャのコストが増加する可能性があります。 今何をすればいいでしょうか?クラウド開発者やアーキテクトはマイクロサービス アーキテクチャに熱狂的であることがわかりました。もちろん、マイクロサービス アーキテクチャはすべてのアプリケーションに適しているわけではなく、多くの場合、消極的な選択になります。すでにクラウドに移行しているアプリケーションやクラウドへの移行中のアプリケーションを最新化する場合、必要以上に多くのリソースが必要になります。これは、マイクロサービスの多くの欠点によって発生します。 それにもかかわらず、これらは標準的なアーキテクチャとしてよく使用されます。ただし、使用する前に、長所と短所を十分に検討し、コアアプリケーション要件に重点を置く必要があります。残念ながら、私たちは重点を置くべき多くのことに焦点を当てておらず、それが最終的にコアアプリケーション要件の不一致につながり、非効率につながります。 マイクロサービスは、他のアプローチと同様に、このアーキテクチャを適用する目的、いつ使用すべきか、いつ使用すべきでないかを考慮して、ケースバイケースでのみ検討できます。 元のタイトル:マイクロサービス アーキテクチャの欠点 原作者:デビッド・リンシカム |
<<: 私が8年間使ってきた方法 - Dockerを使ってローカル開発環境を瞬時に構築する
>>: 観測可能なシステム構築に入ってみると、こんなにも多くの問題があることが分かりました...
今回、ドメイン名を 0.98 ドルで登録できるのは新規ユーザーのみです。Namecheap にすでに...
最近、Huayun Dataは広州でチャネル共有セッションを開催しました。このセッションでは、Hua...
2003 年に設立されたドイツのコンピューター ルーム Contabo が、GPU クラウド サービ...
我が記者の薛松は、有名ミュージシャンの高小松が先日、7月1日から中国の音楽業界は正式に合法化に向けて...
運営開始から数年経ちますが、基本的に半年ごとにプロモーションを実施しています。サーバーも安定しており...
サイトが禁止されたり、降格されたり、ランキングが下がったりするのは避けられません。検索エンジンがどの...
[[322641]] Apache Kafka を使用してメッセージを生成および消費する場合、データ...
Netcloud はテキサス州に登録された中規模の民間企業で、多くの事業を展開しています。Netcl...
北京の新華社が26日伝えたところによると、記者が国家インターネット情報局から得た情報によると、4月下...
インターネットの漸進的な発展に伴い、検索エンジンも同時に成長してきました。現在、国内市場で最も競争力...
概要: Windows XP が廃止された後、Microsoft はなぜ人気の「無料の付加価値サービ...
4月11日、北京万寿ホテルで2019年(第5回)中国オープンソースクラウドコンピューティングユーザー...
path.net の子会社である Tempest.net では、春のプロモーションとして 20% オ...
この部分について説明する前に、まず仮想化に関する一般的な概念を理解しておきましょう。 1. 共通の概...
ServerHub も老舗のホスティング会社です。以前はフェニックス データセンターのサーバーに重点...