建築家不可欠なスキル:マイクロサービスのアーキテクチャ

ソフトウェアアーキテクチャとは何ですか?

ソフトウェアアーキテクチャは、組織の組織の様々なが含まれているシステムで、これらのコンポーネントは、Webサーバー、アプリケーションサーバー、データベース、ストレージ、通信層)を含み、そしてお互いの関係や環境があります。
image.png

マイクロサービスアーキテクチャとは何ですか?

マイクロサービスは単一の小さなが、ビジネス機能サービスの開発を指し、各サービスには独自の加工で軽量な通信メカニズムは、単一または複数のサーバーに展開することができました。
image.png

マイクロサービスも疎結合の多様を指し、サービス指向アーキテクチャの特定の有界コンテキストがあります。各サービスを同時に変更する場合、彼らは緊密に連結されているので、それは、その後、彼らはマイクロサービスではありません、であり、あなたがサービスコンテキスト条件を使用して、シーンのあまりを持っている必要がある場合、それは、サービス・コンテキストの境界線であります

マイクロサービスの利点は何ですか?

image.png

  • それは、特定のビジネス機能やビジネスニーズに焦点を当てることができるように、各マイクロサービスは、非常に小さいです。
  • マイクロサービス小さなチームが別々に開発することができ、この小さなチームは2-5人の開発スタッフです。
  • マイクロサービスが緩く、それは開発段階にあるか、展開フェーズが独立しているかどうか、サービスの機能的意義があり、接続されています。
  • マイクロサービスは、異なる言語の開発を使用することができます。
  • マイクロサービスは、ジェンキンス、ハドソン、竹のように継続的インテグレーションツールを通じて、自動展開を統合するための簡単かつ柔軟な方法を可能にします。
  • チームの新しいメンバーがすぐに生産に入れることができます。
  • マイクロサービスを簡単に開発者が理解し、修正し、維持する、このような小さなチームは、自分の仕事の成果についてもっと心配することができます。協力の価値を反映する必要はありません。
  • マイクロサービスは、最新技術の統合の利点を取ることができます。
  • マイクロサービスが混在だけで、ビジネス・ロジック・コードではなく、HTML、CSS、または他のインタフェースコンポーネントです。
  • マイクロインスタントサービスが展開さが必要です。
  • サーバー上のマイクロサービスは、ローエンドの構成で展開することができます。
  • 使いやすさとサードパーティの統合。
  • 各サービスは、独自のマイクロ記憶容量を有し、それは、独自のデータベースを持つことができます。また、統合データベースがあるかもしれません。

アーキテクチャはマイクロサービスの欠点は何ですか?

  • マイクロサービスアーキテクチャは、あまりにも多くの操作をもたらす可能性があります。
  • DevOpsチームはスキルが必要です
  • 倍増することが可能に努力。
  • 複雑な分散システムは管理が困難な場合があります。
  • 配布なので難しい追跡展開。
  • サービスの数が管理の複雑さの増加を増加します。

以下のための各ケースのマイクロサービスには?

あなたは、デスクトップウェブウェアラブルモバイルスマートテレビをサポートする必要がある場合はそれも将来的にあなたが知っているが、特定の状況をサポートする必要はないかもしれない、可能です。

これはマイクロサービスアーキテクチャを使用している企業や製品?

このようツイッター、ネットフリックス、アマゾンやイーベイなど、ほとんどの大規模なWebシステムは、既にマイクロサービスアーキテクチャに伝統的なモノリシックアーキテクチャのモノリシックアーキテクチャから移行してきました

マイクロサービスとの間でどのように独立した通信のですか?

これは、HTTP / REST、JSONデータ形式又はいるProtobuf(バイナリプロトコル)を使用して、需要に依存して、通信プロトコルは自由です。

なぜ誰もがマイクロサービスについて話していますか?

SOAので接続サービスを確立するために、人気の簡単かつ迅速なRESTful WebサービスおよびJSONデータ交換フォーマットとのインタビュー15年は、ますます便利になりました。

#の継続的な影響力を持つこれら二つのアイデアと技術が+ API +プラットフォームの開発モデルは、マイクロコンテナサービスの連続配信の概念を提唱し、新たなミクロなサービスを形成するために結合するユニバーサルドッカー容器、マイクロサービスの概念を提供し、促進するための方法を開発。

DevOpsチーム開発チームの次の図モノリシック伝統的な方法:

image.png

下記に示すように、このタイプのアーキテクチャは、製品管理渡って製品開発のDev QA DBAおよびシステム管理操作をチーム全体を必要とし、マイクロサービスアーキテクチャの導入後:
image.png

2つのAPIの間の相互作用を介して、道のリストラを促進するためのマイクロサービスをDevOpsチーム、全体的な製品開発チームに大きな肥大化したカットが異なるマイクロサービス製品チームに応じて分割されており、全体的な操作と管理プラットフォームのための大規模なチーム責任者、疎結合分離するように。

ドッカーの導入以来、異なるマイクロサービスアーキテクチャは、以下のようにこれらの個々のサービスは、独立して配送のライフサイクル行うことができる等のNode.jsのJavaルビーPythonのような異なる技術を使用することができます。

image.png

マイクロサービスケース

ネットフリックスのマイクロサービスのアーキテクチャは高いスケーラビリティと可用性のグローバルな分布に焦点を当て、次のとおりです。

image.png

Twitterのマイクロサービスアーキテクチャ、効率的でスケーラブルなデータセンターに焦点を当てました:
image.png

この記事では、賞賛と注目さ、感謝の友人の少しのように、終了します

おすすめ

転載: blog.csdn.net/qwe123147369/article/details/92646580