我是新來的春季啓動和春天的雲。 我想問一下我是否可以爲多個地點(不同的國家)提供一個eureka服務。尤里卡服務 - 地點
例如 一個eureka服務和一個運行兩次的應用程序服務 - 位置斯洛伐克和另一個位置捷克。 然後我想要爲該位置和另一個常見服務提供邊緣服務。 這可能嗎?
配置尤里卡服務
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
配置服務-A-apig ateway
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
服務A-apigateway(簡介:SK)只能撥打服務A(簡介: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