当前位置: 首页 > 知识库问答 >
问题:

使用Spring cloud Netflix OSS对微服务进行负载平衡

淳于思淼
2023-03-14

我有一个使用Spring Boot和Netflix OSS构建的微服务。我使用过中央配置服务器、Eureka和Zuul。由于可伸缩性,服务的多个实例运行在不同的端口上。所有实例都在Eureka中注册,但请求只会发送到最后一个注册的服务器。

spring.application.name=book-service
server.port=0

eureka.client.region = default
eureka.client.registryFetchIntervalSeconds = 5
eureka.client.serviceUrl.defaultZone=http://discUser:discPassword@localhost:10082/eureka/

#eureka.instance.metadataMap.instanceId=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.instanceId=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.leaseRenewalIntervalInSeconds=5
eureka.instance.leaseExpirationDurationInSeconds=5
spring.application.name=discovery
server.port=10082

eureka.instance.hostname=localhost

eureka.client.serviceUrl.defaultZone=http://discUser:discPassword@localhost:10082/eureka/
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

spring.session.store-type=hash-map

ZUUL配置

spring.application.name=gateway
server.port=10080

eureka.client.region = default
eureka.client.registryFetchIntervalSeconds = 5

management.security.sessions=always

zuul.routes.book-service.path=/book-service/**
zuul.routes.book-service.sensitive-headers=Set-Cookie,Authorization
hystrix.command.book-service.execution.isolation.thread.timeoutInMilliseconds=600000

#zuul.routes.rating-service.path=/rating-service/**
#zuul.routes.rating-service.sensitive-headers=Set-Cookie,Authorization
#hystrix.command.rating-service.execution.isolation.thread.timeoutInMilliseconds=600000

zuul.routes.discovery.path=/discovery/**
zuul.routes.discovery.sensitive-headers=Set-Cookie,Authorization
zuul.routes.discovery.url=http://localhost:8082
hystrix.command.discovery.execution.isolation.thread.timeoutInMilliseconds=600000

logging.level.org.springframework.web.=debug
logging.level.org.springframework.security=debug
logging.level.org.springframework.cloud.netflix.zuul=debug

spring.session.store-type=hash-map

共有1个答案

应涵容
2023-03-14

正确地在Eureka注册应用程序就可以了。

以下条目将在尤里卡唯一注册服务。

#eureka.instance.metadataMap.instanceId=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.instanceId=${spring.application.name}:${spring.application.instance_id:${random.value}}
 类似资料:
  • 我是微服务的新手。(学习阶段)。我有一个问题。我们在云中部署微服务。(例如 AWS)。云已经提供了负载平衡和日志。我们还在Spring Boot中实现了负载平衡(功能区)和日志(Rabbit MQ和Zipkin)。这两种实现有什么区别?我们两者都需要吗?有些人可以回答这些问题吗? 提前感谢。

  • 试图自学如何使用库伯内特斯,但有一些问题。 我的下一步是尝试使用LoadBalancer类型的服务来访问nginx。 我建立了一个新的集群并部署了nginx映像。 然后,我为LoadBalancer设置服务 设置完成后,我尝试使用LoadBalancer入口(我在描述LoadBalancer服务时发现)访问nginx。我收到一个此页面无法工作的错误。 不太确定我哪里出错了。 kubectl获得sv

  • 我们正在尝试在一个环境中使用nodejs构建一个微服务,其中包含用java/Spring Boot编写的其他微服务。 其他微服务使用consul.io进行服务发现,使用ribbon进行客户端负载平衡。(那将是:spring-boot、spring-cloud-starter-consul-discovery、spring-cloud-starter-feign和spring-cloud-start

  • 我热衷于了解微服务的以下几个方面。 > 提交和回滚。如果要通过调用多个微服务来实现业务目标,谁来协调提交和回滚?微服务是否需要在其实现中嵌入提交-回滚协议?或者,它是由某种外部因素提供的? 微服务的负载平衡。一个微服务是由负载均衡器前置来帮助它扩展的吗?因此,扩展是否超出了服务的实现范围? 与AWS Lambda/Bluemix OpenWhisk/Azure函数相关。微服务与“无服务器”架构相比

  • 当我将服务与ClusterIP类型和2个POD一起使用时,流量分布在2个POD上。 我找到了另一种服务类型LoadBalancer。这两种服务的区别是什么?LoadBalancer与ClusterIP有何不同? 谢谢

  • null 1.这是Apache Camel-Netty的有效用例吗?我应该看米娜还是其他人? 2.是否可以尝试将tcp通信路由到JMS或其他组件,然后最终到达tcpendpoint? 3.我是否需要编码器/解码器,或者这个配置应该工作? 编辑2: 我增加了客户端的接收超时,并立即注意到预期缓冲区长度的不匹配问题下降到小于1%。但是,我看到使用和不使用Camel时每个事务的响应时间都很大;几乎高出1