クラウド アプリケーション開発のためのマイクロサービス アーキテクチャは、疎結合された小さな (「マイクロ」) サービスのコレクションとしてソフトウェア アプリケーションを構築するアーキテクチャ アプローチです。アーキテクチャ内の各サービスは、データベースへの在庫項目の追加や新規顧客の信用度の確認など、特定のビジネス機能または機能を表します。これらは通常、独立したプロセスとして実行され、アプリケーション プログラミング インターフェイスまたは軽量プロトコルを介して他のサービスと通信します。 マイクロサービスは、サービス指向アーキテクチャと、より優れたアプリケーションを構築する必要性から生まれました。これが新しいアプリケーションを構築するための最も人気のあるアプローチになったのは当然のことです。マイクロサービス アーキテクチャは疎結合と分離を提供するため、私はマイクロサービス アーキテクチャを使用するのが好きです。 利点サービスは疎結合されるように設計されています。他のサービスの内部実装の詳細に直接依存することなく、独立して実行できます。サービスにより、チームはサービスを独立して開発、展開、拡張できるようになり、俊敏性が向上します。サービスは独立して実行できるため、回復力の向上などの追加の利点が得られます。 これは、疎結合に直接関連する独立性と分離性の利点を示しています。各サービスは個別に開発、テスト、展開、拡張できます。 正直に言うと、これが発売されたとき、革命的なものではありませんでした。これは、1970 年代の構造化開発から始まり、オブジェクト指向開発、コンポーネントベースの開発、サービスの使用、マイクロサービスへと続く、アーキテクチャのベスト プラクティスの進化のようなものです。それぞれのアプローチは次のような影響を及ぼします。今後改善できればと思います。 デメリットもちろん、開発においてはただで得られるものはない。それぞれの方法、ツール、言語、アーキテクチャには長所と短所があります。これらを適用する場合、開発者はマイクロサービスの欠点がプロジェクトに与える影響も考慮する必要があります。これらの欠点は、マイクロサービスを取り巻く誇大宣伝の中で見過ごされることがあります。マイクロサービス アーキテクチャの欠点を探ってみましょう。 最大の問題は複雑さです。マイクロサービスはモノリシックアーキテクチャよりも複雑です。システムは多数のサービスに分割されます。アーキテクチャはより複雑になり、異なるサービス間の相互作用を理解することが困難になる可能性があります。 マイクロサービスを展開するためのプラットフォームとして複雑な分散システムも扱う必要があることを考慮すると、これはさらに困難になります。これは、ほぼすべての企業が複数のクラウドを構築および展開する際に生じる副産物です。 配布も考慮すべきもう一つの欠点です。マイクロサービスを使用する場合、サービス間の通信はネットワーク経由で行われることが多く、遅延、ネットワーク障害、機器への負荷の増加を引き起こす可能性があります。このため、マイクロサービス ベースのアプリケーションをデプロイした後はネットワークをアップグレードする必要があり、これによりアプリケーション コストがさらに増加します。 データ管理もより複雑になります。マイクロサービスには独自のデータベースまたはデータ ストアが存在する場合があり、さまざまなサービス間でのデータの一貫性がより複雑になります。データの整合性を維持するには多くの場合、余分な労力が必要ですが、企業は損失が発生するまでこれに気付かないことがよくあります。これは確かに解決可能ですが、ほとんどの人が理解しているよりもはるかに多くのリソースが必要になります。 サービスへの依存は企業にとって問題を引き起こす可能性があります。マイクロサービスはアプリケーション プログラム インターフェイス (API) を介して対話するため、1 つのサービスの変更が他のサービスに影響を及ぼす可能性があります。結果はどうですか?特にアップグレードやサービスの変更時に発生するバージョンの問題と潜在的な互換性の問題。 最後に、リソースのオーバーヘッドがあります。デプロイされたほとんどのアプリケーションでは、複数のマイクロサービス インスタンスを実行すると、単一のモノリシック アプリケーションよりも多くのリソースが消費されます。特に効率的に管理されていない場合、インフラストラクチャのコストが増加する可能性があります。 今何をすればいいでしょうか?クラウド開発者やアーキテクトはマイクロサービス アーキテクチャに熱狂的であることがわかりました。もちろん、マイクロサービス アーキテクチャはすべてのアプリケーションに適しているわけではなく、多くの場合、消極的な選択になります。すでにクラウドに移行しているアプリケーションやクラウドへの移行中のアプリケーションを最新化する場合、必要以上に多くのリソースが必要になります。これは、マイクロサービスの多くの欠点によって発生します。 それにもかかわらず、これらは標準的なアーキテクチャとしてよく使用されます。ただし、使用する前に、長所と短所を十分に検討し、コアアプリケーション要件に重点を置く必要があります。残念ながら、私たちは重点を置くべき多くのことに焦点を当てておらず、それが最終的にコアアプリケーション要件の不一致につながり、非効率につながります。 マイクロサービスは、他のアプローチと同様に、このアーキテクチャを適用する目的、いつ使用すべきか、いつ使用すべきでないかを考慮して、ケースバイケースでのみ検討できます。 元のタイトル:マイクロサービス アーキテクチャの欠点 原作者:デビッド・リンシカム |
<<: 私が8年間使ってきた方法 - Dockerを使ってローカル開発環境を瞬時に構築する
>>: 観測可能なシステム構築に入ってみると、こんなにも多くの問題があることが分かりました...
過去 10 年間で、テクノロジー業界では企業がデータを処理する方法に大きな変化が見られました。オンプ...
ウェブサイトの最適化に関連するトレンドや人気の発展は、インターネットの更新頻度と状況を最もよく反映し...
ユーザーの「Gスポット」とは何でしょうか? ここでは、この G スポットを次のように定義します: ユ...
Google は創立 15 周年を祝うため、秘密裏にハミングバード アルゴリズムを導入しました。公式...
小規模なウェブサイトのウェブサイト最適化でも、大規模なウェブサイトの最適化作業でも、ほとんどの人は何...
インターネットの発展は社会の形態を変えました。オフラインからオンラインへ、実体経済から電子商取引へ、...
Googleも狂ってる。 Google は、合併と買収を通じて競合他社を追い越し、クラウドコンピュー...
[[204200]] (上の写真は、ピボタルの副社長兼アジア太平洋および日本担当マネージングディレク...
過去 10 年間で、多くの企業の IT 戦略は進化し、社内のリソースを厳密に保護することと、コンピュ...
少し前に、a5ウェブマスターのウェブサイトに掲載された「国内インターネット市場取引概要」というタイト...
SEO 最適化を始めたばかりの方は、検索エンジン スパイダー (検索エンジンが Web ページをクロ...
2019 年に最も速い日本の VPS は何ですか?最も高速な日本の VPS/日本の高速 VPS はど...
ハイアールは「人間本位」のモデルとメーカープラットフォームを積極的に推進し、伝統的な企業がイノベーシ...
4月11日、北京万寿ホテルで2019年(第5回)中国オープンソースクラウドコンピューティングユーザー...
少し前、テンセントがJD.comに投資したというニュースが業界関係者の間で話題になった。しかし、この...