1.マイクロサービスとは何ですか?
主プロジェクトの分離に、分散サービスからなるシステム、分割従来のうち離散個々のサービスへの機能(例:SSM、SSH)は、ビルドに長い時間柔軟ではない、任意の小さな修正は、プロジェクト全体を再構築しなければなりません小さなプロジェクトは、プロジェクト全体をハングアップにつながる可能性があり、そのマイクロサービスがあり、我々は複数のサブシステムへの事業分割に基づいてシステム全体を置くことができ、それぞれが負荷分散を使用して、複数のアプリケーション、複数のアプリケーションを展開することができます。
II。マイクロサービスアーキテクチャのニーズや使用シナリオ
1.複数のサブオペレーションに全体のプロジェクト。
2.各サブプロジェクトでは、複数のアプリケーション間のバランスを読み込むことができ、複数のアプリケーションを展開することができます。
3.必要性サービスレジストリ(ユーレカ)すべてのサービスがレジストリに登録され、ロードバランシング(リボン)を達成するために、登録センターサービスに登録することにより、特定の戦略を使用することです。
すべての設定をルーティングすることによってゲートウェイと背景にアクセスするためのサービス(ZUUl)アドレスを介してクライアント4は、ゲートウェイは、URLリクエストの処理を有するサービスを決定します。リクエストがサービスに転送され、それはまた、負荷分散を使用しています。
顧客サービスは、ユーザデータを取得する際に、時々の間5.サービスは、いくつかのビジネスに対処するためにお互い、例えば、ユーザモジュール、他のサービスへのアクセスを必要とします
6.回路ブレーカ、タイムアウトやエラー時にサービスコール、システム全体をダウンさせるだろうサービスを妨げる問題のタイムリーな処理が必要とされています。
7.また、各サービスコールに費やさ監視機能、監視時間を必要とします
現在主流のマイクロサービスフレームワーク:ダボ、SpringCloud、倹約、ヘッセ、等
II。マイクロサービスアーキテクチャの利点
1.開発や保守が容易な1つのビジネスサービス上のマイクロフォーカスを、ビジネスの透明度、少ないコード
2.単一のマイクロサービスより少ないコード、クイックスタート
3.ローカルの展開が容易変更
4.技術が限定されるものではなく、
III。チャレンジマイクロサービス
1. Yungaoのメンテナンス要件
2.分散システム、フォールトトレランス、ネットワーク遅延、分散トランザクションなどの巨大な挑戦を使用して
3.インタフェースの高い通話料金、インターフェースを介した通信、あなたがマイクロAPIサービスを変更した場合、マイクロマイクロサービスとの間のインターフェイスのすべてを使用することができ、サービスを適応させる必要があります。
4.多くのサービスは、コードの重複につながる、同じ機能を使用することができます
マイクロサービス全体のアーキテクチャ図
四.springcloudはじめに
1.springcloudはマイクロサービスフレームワークspringbootの開発に基づいており、それは現在のマイクロサービスフレームワークへのより完全なソリューションです、その内容は次のとおりです。サービス登録(ユーレカ)、サービスコール(装う)、ロードバランシング(リボン)、回路ブレーカ(Hystrixを)、など
springcloudは、複数の構成要素を含みます。
springcloud設定:分散構成センター
springcloud netfix:コアを形成
ureka:サービスレジストリ
リボン:クライアント・ロード・バランシング
装う:セットアップサービスコール
Hystrix:保護のためのサービスフレームワーク(ヒューズ)
Zuul:ゲートウェイは、インテリジェントなルーティング、アクセスフィルタリングを提供するように設定しました