大佬教程收集整理的这篇文章主要介绍了从单个主机注册Spring Boot Eureka Client的多个实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于本地部署,请尝试 (如果使用基于Spring Cloud的安装程序,请为正确的yaml文件 )。它深深植根于Eureka服务器计算应用程序列表并比较PeerAwareInstanceRegistryImpl的InstanceInfo的方式中- 当没有更多具体数据(例如:实例元数据可用)时,它们尝试从主机名获取ID。
不过,我不建议将其用于AWS部署,因为搞乱instancEID会给您带来麻烦,让您难以确定哪个机器托管特定服务- 另一方面,我怀疑您是否会在一台计算机上托管两个相同的服务,对吗?
更新
在自述这个回购已更新,以证明接受的答案的解决方案。
@H_618_16@我正在根据此指南使用Spring Boot Eureka服务注册和发现的简单示例。
如果我启动一个客户端实例,它会正确注册,并且可以通过看到自己DiscoveryClient
。如果我使用另一个名称启动另一个实例,它也可以正常工作。
但是,如果我启动两个具有相同名称的实例,则仪表板仅显示正在运行的一个实例,而DiscoveryClient
仅显示第二个实例。
当我杀死第二个实例时,第一个实例可以通过仪表板和发现客户端再次看到。
以下是有关我正在执行的步骤以及所看到的内容的更多详细信息:
尤里卡服务器
启动服务器
cd eureka-server
mvn spring-boot:run
访问http://
localhost:8761的Eureka仪表板
请注意,还没有注册“实例”
尤里卡客户
启动客户端
cd eureka-client
mvn spring-boot:run
直接通过http:// localhost:8080
/访问客户端
该/whoami
终端将展示其应用程序名称和端口的客户端的自知之明
{
"springApplicationName":"eureka-client","serverPort":"8080"
}
该/instances
端点将需要长达一分钟更新,但最终应该会显示所有的情况下,eureka-client
已登记的尤里卡发现客户端。
[
{
"host":"hostname","port":8080,"servicEID":"EUREKA-CLIENT","uri":"http://hostname:8080","secure":false
}
]
您现在也可以再次访问Eureka dashoboard,并在其中列出。
启动另一个使用不同名称的客户
您可以通过执行以下操作看到另一个客户端将被注册:
cd eureka-client
mvn spring-boot:run -Dspring.application.name=foo -Dserver.port=8081
该/whoami
终端将显示名称foo
和端口8081
。
一分钟左右,/instances
端点也将显示有关此foo
实例的信息。
现在,在Eureka仪表板上,将注册两个客户。
自旋向上的另一端用 同样的 名字
现在尝试eureka-client
通过仅重写port参数来生成另一个实例:
cd eureka-client
mvn spring-boot:run -Dserver.port=8082
的/whoami
端点http://localhost:8082
显示了我们的期望。
一分钟左右,/instances
端点现在还显示了在端口8082上运行的实例,但是由于某种原因,它没有显示在端口8080上运行的实例。
而且,如果我们检查/instances
端点,http://localhost:8080
我们现在也只会看到在8082上运行的实例(即使很明显,在8080上的实例也正在运行,因为这正是我们所要的。
Eureka仪表板仅显示1个eureka-client
正在运行的实例。
这里发生了什么?
让我们尝试杀死运行在8082上的实例,看看会发生什么。
当我们/instances
在8080上查询时,它仍然只在8082上显示实例。
但是一分钟后,这种情况消失了,我们再次在8080上看到了该实例。
问题是,为什么我们都看不到eureka-client
它们都在运行的两个实例?
以上是大佬教程为你收集整理的从单个主机注册Spring Boot Eureka Client的多个实例全部内容,希望文章能够帮你解决从单个主机注册Spring Boot Eureka Client的多个实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。