MicroService 9つの特性

       Martin Fowler氏
 
  1. サービスコンポーネント :マイクロサービスアーキテクチャは、我々は、サービスコンポーネントの分解に必要、外部サービスは、HTTPなどの通信プロトコルを介して協力するプロセスの構成要素ではなく、伝統的なアセンブリである仕事のタイプ道への挿入各サービスは、独立により、システム全体の再配置に効果的にサービスを変更することを避けることができ、展開、開発しました。
  2. ビジネス組織のチームによって :マイクロサービスアーキテクチャを実装する際には、別のチームのセグメンテーションが必要です。各サービスは、特定のビジネス広いスタック又は完全なスタックのために実装されているので、データの永続的な記憶を担当するだけでなく、機能のユーザインタフェース定義の学際的分野の種々の原因であることが必要です。だから、効果的に他の一方で、チームはより多くのボーダーになることができ、内部摩擦の変更サービスが生産削減できる一方で、法に係る微小サービスチームのスプリットスプリットのための大規模プロジェクトでのビジネスのより多くの行を推奨直面したときそれは明らかです。
  3. 「製品」態度でください :ターゲットのテスト、運用、保守に配信としてマイクロサービスアーキテクチャチームは、各チームは、製品ではなく、伝統的なプロジェクトの開発を行うために、そのライフサイクル全体の責任,,小さくしなければなりません。
  4. インテリジェントエンドポイントとダムパイプ :各サービスが変更されたプロセス、コンポーネント間の通信のモードではないので、コールRPCのように元のプロセス呼び出しにおける方法は、それがシステムを作る、マイクロサービスとの間の面倒通信につながりますHTTP RESTfulなAPIやビジネスが極端にパフォーマンスを重視だけでなく、可能な場合には、デカップリング用の軽量メッセージングプロトコル、メッセージキュー(メッセージキュー):作るために、我々は粗粒の通信プロトコルより多くを必要とするので、より悪いパフォーマンスを、重要バイナリのメッセージングいるProtobufなどのプロトコルを使用して。
  5. 分散型ガバナンス :全体のマイクロサービスアーキテクチャ、軽量契約に定義されたインタフェースを使用して、我々のチームの具体的な技術プラットフォームサービス自体を作成するには、システム全体のマイクロサービスアーキテクチャの様々なコンポーネントが異なるためにできるようにすることを、もはやそれほど敏感ではありません動作特性は異なる技術プラットフォームを選択してください。
  6. 分散管理データ :マイクロサービスアーキテクチャの実装では、データの管理を分散化されたデータベースを、管理するために、独自の各サービスを期待して、分散型データ管理、データ管理はより慎重になりますが、データストレージを聞かせ最適なパフォーマンスを実現するが、異なるデータベースインスタンス、データの一貫性はマイクロサービスアーキテクチャので、私たちはそれぞれを強調し、分散トランザクションの難易度自体が非常に大きい実現、解決すべきマイクロサービスアーキテクチャの問題の一つとなっていますサービス間の「何の取引」、データの一貫性と呼ばれていない、一般的にその「結果整合性」を強調
  7. インフラ自動化 :最初からマイクロサービスアーキテクチャ、それは重要であるが、全体の実装プロセスをサポートするために、「連続承継」、「連続配信」のプラットフォームを開発しました。
  8. フォールトトレラント設計 :マイクロサービスアーキテクチャ、障害発生源の迅速な検出と自動で可能な限りのサービスを復元するには、通常、我々は、すべてのコンポーネントが各サービスにしてモニタリングとロギング達成したい、設計で考慮しなければなりません。例えば、アラームロギング、サービスヒューズ、サービス低下と上のようにします。

おすすめ

転載: www.cnblogs.com/fangpengchengbupter/p/12133485.html