SpringCloud Eureka(一)
3849 ワード
サービスガバナンスSpring Cloud Eureka
サービスガバナンスは、マイクロサービスアーキテクチャの中で最も核心的で基礎的なモジュールであり、主に各マイクロサービスインスタンスの自動化登録と発見を実現するために使用されます.Spring Cloud EurekaはSpring Cloud Netflixマイクロサービスキットの一部であり、Netflix Eurekaに基づいて二次パッケージ化され、主にマイクロサービスアーキテクチャにおけるサービスガバナンス機能の完成を担当している.サービス登録サービスガバナンスフレームワークでは、通常、登録センターが構築され、各サービスユニットは登録センターに自分が提供したサービスを登録し、ポート、バージョン番号、通信プロトコルなどの付加情報を登録センターに通知し、登録センターはサービス名によってサービスリストを分類して組織する.サービス登録センターは、リスト内のサービスが利用可能かどうかを心拍数で監視する必要があります.使用できない場合は、サービスリストから削除し、障害サービスを排除する役割を果たします. サービスは、サービスガバナンスフレームワークの下で、サービス間の呼び出しは、特定のインスタンスのアドレスを指定することによって実現されるのではなく、サービス名に呼び出しを要求することによって実現されることを発見した.したがって、サービス呼び出し側は、サービスプロバイダインタフェースを呼び出す際に、サービスインスタンスの具体的な位置を知らず、サービス呼び出し側はサービス登録センターにサービスを問い合わせ、すべてのサービスインスタンスリストを取得し、具体的なサービスインスタンスへのアクセスを実現する必要がある.
1.サービス登録センターの構築(Eurekaサービス側)
1.1サービス登録センターの構築 Spring Bootエンジニアリングの作成 追加依存:spring-cloud-starter-eureka-server を開く.サービス登録センター の構成
1.2サービス登録センターの構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.instance.hostname
ホスト名
-
eureka.client.register-with-eureka
登録センターに自分を登録するかどうか
false
eureka.client.fetch-registry
サービスを取得する必要があるかどうか
false
eureka.client.service-url.defaultZone
サービス登録センターアドレス
http://\({eureka.instance.hostname}:\){server.port}/eureka/
2.登録サービスプロバイダ(Eurekaクライアント)
2.1サービスプロバイダ登録 Spring Bootエンジニアリングの作成 依存性の追加:spring-cloud-starter-eureka-client をアクティブ化サービスプロバイダ の構成
2.2サービスプロバイダ構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
-
3.登録サービス消費者(Eurekaクライアント)
3.1サービス消費者登録 Spring Bootエンジニアリングの作成 追加依存:spring-cloud-starter-eureka-client,spring-cloud-starter-ribbon をオンにする.サービスプロバイダ の構成
3.2サービス消費者構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
-
4.高可用性サービス登録センター
分散環境では、障害が発生した場合を十分に考慮する必要があるため、本番環境では各コンポーネントを高可用性に配置する必要があります.サービスセンターでも同様です.Eurekaのサービスガバナンス設計では、すべてのノードがサービスプロバイダであり、サービス消費者であり、サービス登録センターも例外ではない.Eureka Serverの高可用性は、実際には自分をサービスとして他のサービス登録センターに登録し、互いに登録する登録センターを形成し、サービスリストの相互同期を実現し、高可用性効果を達成することである.
4.1高可用性サービス登録センターの構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.instance.hostname
ホスト名
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
その他のサービス登録センターアドレス:url 2,url 3...
4.2サービスプロバイダの構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
その他のサービス登録センターの住所:url 1、url 2、url 3...
附共通の構成
name
description
default
spring.application.name
サービス名
-
server.port
ポート
-
eureka.instance.hostname
ホスト名
-
eureka.instance.lease-renewal-interval-in-seconds
サービス継続タスクの呼び出し間隔
30
eureka.instance.lease-expiration-duration-in-seconds
サービス失効時間
90
eureka.client.register-with-eureka
登録センターに自分を登録するかどうか
true
eureka.client.fetch-registry
サービスを取得する必要があるかどうか
true
eureka.client.service-url.defaultZone
Eureka serverパーティションアドレス
-
eureka.server.enable-self-preservation
保護メカニズムをオンにするかどうか
-
サービスガバナンスは、マイクロサービスアーキテクチャの中で最も核心的で基礎的なモジュールであり、主に各マイクロサービスインスタンスの自動化登録と発見を実現するために使用されます.Spring Cloud EurekaはSpring Cloud Netflixマイクロサービスキットの一部であり、Netflix Eurekaに基づいて二次パッケージ化され、主にマイクロサービスアーキテクチャにおけるサービスガバナンス機能の完成を担当している.
1.サービス登録センターの構築(Eurekaサービス側)
1.1サービス登録センターの構築
@EnableEurekaServer
を使用してサービス登録センター1.2サービス登録センターの構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.instance.hostname
ホスト名
-
eureka.client.register-with-eureka
登録センターに自分を登録するかどうか
false
eureka.client.fetch-registry
サービスを取得する必要があるかどうか
false
eureka.client.service-url.defaultZone
サービス登録センターアドレス
http://\({eureka.instance.hostname}:\){server.port}/eureka/
2.登録サービスプロバイダ(Eurekaクライアント)
2.1サービスプロバイダ登録
@EnableDiscoveryClient
を使用してdiscovery client 2.2サービスプロバイダ構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
-
3.登録サービス消費者(Eurekaクライアント)
3.1サービス消費者登録
@EnableDiscoveryClient
を使用してdiscovery clientをアクティブ化し、プライマリクラスにRestTemplateのSpring Beanインスタンスを作成し、@LoadBalanced
注記によりクライアント負荷等化3.2サービス消費者構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
-
4.高可用性サービス登録センター
分散環境では、障害が発生した場合を十分に考慮する必要があるため、本番環境では各コンポーネントを高可用性に配置する必要があります.サービスセンターでも同様です.Eurekaのサービスガバナンス設計では、すべてのノードがサービスプロバイダであり、サービス消費者であり、サービス登録センターも例外ではない.Eureka Serverの高可用性は、実際には自分をサービスとして他のサービス登録センターに登録し、互いに登録する登録センターを形成し、サービスリストの相互同期を実現し、高可用性効果を達成することである.
4.1高可用性サービス登録センターの構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.instance.hostname
ホスト名
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
その他のサービス登録センターアドレス:url 2,url 3...
4.2サービスプロバイダの構成
name
description
value
spring.application.name
サービス名
-
server.port
ポート
-
eureka.client.service-url.defaultZone
サービス登録センターアドレス
その他のサービス登録センターの住所:url 1、url 2、url 3...
附共通の構成
name
description
default
spring.application.name
サービス名
-
server.port
ポート
-
eureka.instance.hostname
ホスト名
-
eureka.instance.lease-renewal-interval-in-seconds
サービス継続タスクの呼び出し間隔
30
eureka.instance.lease-expiration-duration-in-seconds
サービス失効時間
90
eureka.client.register-with-eureka
登録センターに自分を登録するかどうか
true
eureka.client.fetch-registry
サービスを取得する必要があるかどうか
true
eureka.client.service-url.defaultZone
Eureka serverパーティションアドレス
-
eureka.server.enable-self-preservation
保護メカニズムをオンにするかどうか
-