ソフトウェアアーキテクチャとは何ですか?
ソフトウェアアーキテクチャは、組織の組織の様々なが含まれているシステムで、これらのコンポーネントは、Webサーバー、アプリケーションサーバー、データベース、ストレージ、通信層)を含み、そしてお互いの関係や環境があります。
マイクロサービスアーキテクチャとは何ですか?
マイクロサービスは単一の小さなが、ビジネス機能サービスの開発を指し、各サービスには独自の加工で軽量な通信メカニズムは、単一または複数のサーバーに展開することができました。
マイクロサービスも疎結合の多様を指し、サービス指向アーキテクチャの特定の有界コンテキストがあります。各サービスを同時に変更する場合、彼らは緊密に連結されているので、それは、その後、彼らはマイクロサービスではありません、であり、あなたがサービスコンテキスト条件を使用して、シーンのあまりを持っている必要がある場合、それは、サービス・コンテキストの境界線であります
マイクロサービスの利点は何ですか?
- それは、特定のビジネス機能やビジネスニーズに焦点を当てることができるように、各マイクロサービスは、非常に小さいです。
- マイクロサービス小さなチームが別々に開発することができ、この小さなチームは2-5人の開発スタッフです。
- マイクロサービスが緩く、それは開発段階にあるか、展開フェーズが独立しているかどうか、サービスの機能的意義があり、接続されています。
- マイクロサービスは、異なる言語の開発を使用することができます。
- マイクロサービスは、ジェンキンス、ハドソン、竹のように継続的インテグレーションツールを通じて、自動展開を統合するための簡単かつ柔軟な方法を可能にします。
- チームの新しいメンバーがすぐに生産に入れることができます。
- マイクロサービスを簡単に開発者が理解し、修正し、維持する、このような小さなチームは、自分の仕事の成果についてもっと心配することができます。協力の価値を反映する必要はありません。
- マイクロサービスは、最新技術の統合の利点を取ることができます。
- マイクロサービスが混在だけで、ビジネス・ロジック・コードではなく、HTML、CSS、または他のインタフェースコンポーネントです。
- マイクロインスタントサービスが展開さが必要です。
- サーバー上のマイクロサービスは、ローエンドの構成で展開することができます。
- 使いやすさとサードパーティの統合。
- 各サービスは、独自のマイクロ記憶容量を有し、それは、独自のデータベースを持つことができます。また、統合データベースがあるかもしれません。
アーキテクチャはマイクロサービスの欠点は何ですか?
- マイクロサービスアーキテクチャは、あまりにも多くの操作をもたらす可能性があります。
- DevOpsチームはスキルが必要です
- 倍増することが可能に努力。
- 複雑な分散システムは管理が困難な場合があります。
- 配布なので難しい追跡展開。
- サービスの数が管理の複雑さの増加を増加します。
以下のための各ケースのマイクロサービスには?
あなたは、デスクトップウェブウェアラブルモバイルスマートテレビをサポートする必要がある場合はそれも将来的にあなたが知っているが、特定の状況をサポートする必要はないかもしれない、可能です。
これはマイクロサービスアーキテクチャを使用している企業や製品?
このようツイッター、ネットフリックス、アマゾンやイーベイなど、ほとんどの大規模なWebシステムは、既にマイクロサービスアーキテクチャに伝統的なモノリシックアーキテクチャのモノリシックアーキテクチャから移行してきました
マイクロサービスとの間でどのように独立した通信のですか?
これは、HTTP / REST、JSONデータ形式又はいるProtobuf(バイナリプロトコル)を使用して、需要に依存して、通信プロトコルは自由です。
なぜ誰もがマイクロサービスについて話していますか?
SOAので接続サービスを確立するために、人気の簡単かつ迅速なRESTful WebサービスおよびJSONデータ交換フォーマットとのインタビュー15年は、ますます便利になりました。
#の継続的な影響力を持つこれら二つのアイデアと技術が+ API +プラットフォームの開発モデルは、マイクロコンテナサービスの連続配信の概念を提唱し、新たなミクロなサービスを形成するために結合するユニバーサルドッカー容器、マイクロサービスの概念を提供し、促進するための方法を開発。
DevOpsチーム開発チームの次の図モノリシック伝統的な方法:
下記に示すように、このタイプのアーキテクチャは、製品管理渡って製品開発のDev QA DBAおよびシステム管理操作をチーム全体を必要とし、マイクロサービスアーキテクチャの導入後:
2つのAPIの間の相互作用を介して、道のリストラを促進するためのマイクロサービスをDevOpsチーム、全体的な製品開発チームに大きな肥大化したカットが異なるマイクロサービス製品チームに応じて分割されており、全体的な操作と管理プラットフォームのための大規模なチーム責任者、疎結合分離するように。
ドッカーの導入以来、異なるマイクロサービスアーキテクチャは、以下のようにこれらの個々のサービスは、独立して配送のライフサイクル行うことができる等のNode.jsのJavaルビーPythonのような異なる技術を使用することができます。
マイクロサービスケース
ネットフリックスのマイクロサービスのアーキテクチャは高いスケーラビリティと可用性のグローバルな分布に焦点を当て、次のとおりです。
Twitterのマイクロサービスアーキテクチャ、効率的でスケーラブルなデータセンターに焦点を当てました: