- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我部署微服务 eureka 客户端并设置 eureka 服务器的 url 时,如下所示:
eureka.client.serviceUrl.defaultZone=http://10.118.28.94:7701/eureka/,http://10.154.32.88:7701/eureka/
我发现客户端总是注册到第一个 Eureka 服务器(10.118.28.94:7701),我想知道如何进行负载平衡以防止所有客户端注册到同一个 Eureka 服务器?我应该手动调整服务器列表的顺序吗?
最佳答案
这可能会让您感到困惑,请一次一步地进行
和follow this link to understand micro services registration with eureka server
或从这里开始
要进行 eureka 集群,您需要运行 eureka 服务器的两个实例
配置eureka服务器application.proerties如下
#EMBEDDED SERVER CONFIGURATION (ServerProperties)
server.port=8081
#Configuration for service registration with Eureka Server
eureka.instance.hostname=peer1
eureka.server.hostname=peer2
eureka.server.port=8082
eureka.client.serviceUrl.defaultZone=http://${eureka.server.hostname}:${eureka.server.port}/eureka/
eureka.server.renewalPercentThreshold=0.49
#self registration Configuration
eureka.client.registerWithEureka: false
eureka.client.fetchRegistry: false
将 eureka 服务器打包为 jar 后在 IDE 之外运行应用程序
注意 在运行应用程序之前更新您的主机信息 在Windows中 C:\Windows\System32\drivers\etc
打开主机文件粘贴这些
127.0.0.1 peer1
127.0.0.1 peer2
现在您已准备好运行 Eureka
instance 1 : java -jar eurekaserveryourartifact.jar
要运行第二个实例,您需要在运行应用程序时将它们作为 VM 参数传递来覆盖 application.proerties 中的某些属性,如下所示
instance 2 : java -jar -Dserver.port=8082 -Deureka.instance.hostname=peer2 -Deureka.server.hostname=peer1 eureka.server.port=8081 eurekaserveryourartifact.jar
---------------------- 到这里Eureka集群完成------------
访问 eureka1 :peer1:8081 或 localhost:8081
访问 eureka2 :peer2:8082 或 localhost:8082
确保第一个 Eureka 将副本显示为peer2,第二个服务器将副本显示为peer1
<小时/>现在向 eureka 注册您的服务
向第一个 Eureka 服务器注册您的服务( Eureka 客户端),这些服务也会自动向第二个 Eureka 服务器注册。客户端应在 application.proerties 中进行如下配置。
#reading values from pom.xml
spring.application.name=@artifactId@
#service registration with Eureka Server
eureka.server.port=8081
eureka.server.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://${eureka.server.hostname}:${eureka.server.port}/eureka/ eureka.instance.instanceId=${spring.application.name}:${spring.application.instance_id:${random.value}}
要测试负载平衡,最好通过覆盖服务器端口来运行服务的多个实例,如下所示
服务ins1:java -jar serviceartifact.jar
和
服务ins2:java -jar -Dserver.port=8082 serviceartifact.jar
现在您可以看到注册到 eureka1 和 eureka2 的 2 个服务实例
在访问这些服务时,如果一个服务实例宕机了另一个实例(注意:两个服务运行在不同的端口上)url 将由 eureka 服务器自动提供给服务的使用者。
我们还可以使用功能区进行客户端负载平衡
关于java - 如何将Eureka客户端注册到带有负载均衡器的Eureka服务器集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43472784/
我是一名优秀的程序员,十分优秀!