1.依赖,创建springboot项目是添加eureka-server即可
2.yaml 文件:
server:
port: 7070
# 这个在多个注册中心里命名是一样的
spring:
application:
name: my-eureka-server
# 测试不配置的话,现象为在注册中心显示端口+ip,但是配置后,eureka.clientserverUrl.defaultZone即制定注册中心可以直接使用,
# hostname设置一样,后缀改一下,不用去记住另一个服务的ip,注意这里只是ip,不带端口的
# 也可以定义一个带端口的instance-id,下面注册时候直接用instance-id即可。
eureka:
instance:
hostname: eurekahostname1
client:
serviceUrl:
# 这里要注意最后要加/eureka/的
defaultZone: http://eurekahostname2:7071/eureka/
server:
port: 7071
# 这个在多个注册中心里命名是一样的
spring:
application:
name: my-eureka-server
# 测试不配置的话,现象为在注册中心显示端口+ip,但是配置后,eureka.clientserverUrl.defaultZone即制定注册中心可以直接使用,
# hostname设置一样,后缀改一下,不用去记住另一个服务的ip,注意这里只是ip,不带端口的
# 也可以定义一个带端口的instance-id,下面注册时候直接用instance-id即可。
eureka:
instance:
hostname: eurekahostname2
client:
serviceUrl:
# 这里要注意最后要加/eureka/的
defaultZone: http://eurekahostname1:7070/eureka/
3.启动加@EnableEurekaServer
4.启动,查看注册中心 http://localhost:7070/ 即可
5.搞两个个app注册进注册中心试试,依赖一样即可,启动类加@EnableEurekaClient
6.yaml文件
server:
port: 7080
# 这个在多个注册中心里命名是一样的
spring:
application:
name: my-eureka-app-server
# 测试不配置的话,现象为在注册中心显示端口+ip,但是配置后,eureka.clientserverUrl.defaultZone即制定注册中心可以直接使用,
# hostname设置一样,后缀改一下,不用去记住另一个服务的ip,注意这里只是ip,不带端口的
# 也可以定义一个带端口的instance-id,下面注册时候直接用instance-id即可。
eureka:
client:
serviceUrl:
# 这里要注意最后要加/eureka/的,这里尽量要把集群的注册中心都写上
defaultZone: http://localhost:7070/eureka/,http://localhost:7071/eureka/
server:
port: 7081
# 这个在多个注册中心里命名是一样的
spring:
application:
name: my-eureka-app-client
# 测试不配置的话,现象为在注册中心显示端口+ip,但是配置后,eureka.clientserverUrl.defaultZone即制定注册中心可以直接使用,
# hostname设置一样,后缀改一下,不用去记住另一个服务的ip,注意这里只是ip,不带端口的
# 也可以定义一个带端口的instance-id,下面注册时候直接用instance-id即可。
eureka:
instance:
hostname: eurekaclienthostname
client:
serviceUrl:
# 这里要注意最后要加/eureka/的
defaultZone: http://localhost:7070/eureka/,http://localhost:7071/eureka/
7、启动app项目可以在注册中心看到。
8、疑问:app的defaultZone能写成http://eurekahostname1:7070/eureka/这样吗?测试第一次不行,改成localhost后成功,再改回来还是注册上去了,可能是因为缓存的原因吧,这个问题仍有待解决。