私は春の靴と春の雲には新しいです。 私は、複数の場所(異なる国)に対して1つのユーレカサービスを利用できるかどうか質問したいと思います。ユーレカサービス - 場所
たとえば 1つのユーレカサービスと1つのアプリサービスが2回実行されています。スロバキアの場所はもう1つはCZECHの場所です。 そして、私は、その場所と別の共通サービスのエッジサービスを持っていたいと思います。 可能ですか?
設定ユーレカサービス
spring:
application:
name: eureka-service
server:
port: 8761
eureka:
instance:
preferIpAddress: true
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://localhost:8761/eureka/
構成サービス共通
server:
port: 9082
eureka:
instance:
preferIpAddress: true
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
設定サービス
spring:
application:
name: service-a
eureka:
instance:
preferIpAddress: true
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
---
spring:
profiles: sk
server:
port: 9080
eureka:
instance:
metadataMap:
zone: skZone
---
spring:
profiles: cz
server:
port: 9081
eureka:
instance:
metadataMap:
zone: czZone
構成サービス-APIG
spring:
application:
name: service-a-apigateway
zuul:
routes:
book-apigateway:
serviceId: service-a
path: /api/**
book-common-api:
serviceId: service-common
path: /common/**
eureka:
instance:
preferIpAddress: true
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
---
spring:
profiles: sk
server:
port: 9050
eureka:
instance:
metadataMap:
zone: skZone
---
spring:
profiles: cz
server:
port: 9051
eureka:
instance:
metadataMap:
zone: czZone
サービス-apigateway ateway(プロファイル:SK)のみのサービス(プロファイル:SK)を呼び出すことができますし、サービス共通。プロファイル(cz)も同じ動作をします。それは良いです。 しかし、service-a(profile:sk)がダウンしている場合、service-a-apigateway(profile:sk)はservice-a(profile:cz)を呼び出すことができます。この動作は望ましくありません。
ありがとうございます。私は私の質問を更新しました。 – Bully
私はあなたがそれを好むだけでなく、完全に制限したいと思っています。デフォルトは、他のゾーンにフォールバックするZonePreferenceServerListFilterです。おそらく独自のサーバーリストフィルタを作成して構成することができます。 ZonePreferenceServerListFilter、https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-core/src/main/java/org/springframework/のソースを参照してください。 cloud/netflix/ribbon/ZonePreferenceServerListFilter.java 次に、新しいフィルタでリボンを再設定します。 http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_customizing_the_ribbon_client – nedenom