我是新来的春季启动和春天的云。 我想问一下我是否可以为多个地点(不同的国家)提供一个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