【发布时间】:2017-09-23 14:51:10
【问题描述】:
我是 Spring Boot 和 Spring Cloud 的新手。 我想问一下我是否可以为多个位置(不同国家/地区)提供一项 eureka 服务。
例如 一项运行两次的 eureka 服务和一项应用程序服务 - 用于位置 SLOVAKIA,另一项用于位置 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/
配置服务-a
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-apigateway
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
Service-a-apigateway (profile: sk) 只能调用 service-a (profile: sk) 和 service-common。 Profile (cz) 具有相同的行为。这很好。 但是当 service-a (profile: sk) 宕机时,service-a-apigateway (profile: sk) 可以调用 service-a (profile: cz)。这种行为是不可取的。
【问题讨论】:
标签: spring-boot spring-cloud netflix-eureka