目录
- 创建 Eureka Server
- 第一步:创建项目
- 第二步:修改项目配置
- 第三步:启动项目
- 创建 Eureka Client
- 第一步:重复上面第一步创建项目
- 第二步:修改项目配置
- 第三步:启动项目,将服务注册到注册中心
- 注册中心与服务一般是一对多,但防止注册中心挂掉,可以再运行一个,服务对两个注册中心互相注册
- 创建另一个 Eureka Server
- 修改 Eureka Client的application.yml
- 启动springcloud-other,重启springcloud-consumer
创建 Eureka Server
第一步:创建项目
- 使用Spring Initializr创建项目(我这里连接不到第一个Default了,所以我一直用的这个,大家用第一个就可以)
- 填写项目名称
- 选择下面红框指定的两个依赖,点击next然后finish,成功创建项目
第二步:修改项目配置
- 启动类添加注解@EnableEurekaServer
- application.yml 修改,erureka server注册中心就写完了
spring:
application:
name: springcloud
server:
port: 8080
eureka:
client:
registerWithEureka: false #其本身作为注册中心,所有设置为:不显示在注册中心
fetchRegistry: false
serviceUrl:
#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
defaultZone: http://localhost:8080/eureka/
第三步:启动项目
- 运行结果,注册中心页面有了,但是没有服务:
创建 Eureka Client
第一步:重复上面第一步创建项目
- 略
第二步:修改项目配置
- 启动类添加注解@EnableEurekaClient
- application.yml 修改,erureka client服务就写完了
spring:
application:
name: springcloud-consumer
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/
fetch-registry: false
server:
port: 8082
第三步:启动项目,将服务注册到注册中心
- 运行结果,注册中心页面展示出注册的服务:
至此,注册中心和服务连接就完成了。
注册中心与服务一般是一对多,但防止注册中心挂掉,可以再运行一个,服务对两个注册中心互相注册
创建另一个 Eureka Server
- 重复创建 Eureka Server
- application.yml 修改,erureka client服务就写完了
spring:
application:
name: springcloud-other
server:
port: 8081
eureka:
client:
registerWithEureka: false #其本身作为注册中心,所有设置为:不显示在注册中心
fetchRegistry: false
serviceUrl:
#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
defaultZone: http://localhost:8081/eureka/
修改 Eureka Client的application.yml
spring:
application:
name: springcloud-consumer
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/, http://localhost:8081/eureka/
fetch-registry: false
server:
port: 8082
启动springcloud-other,重启springcloud-consumer
- 看到服务现在注册在第一个注册中心(8080)
- 停掉第一个注册中心,等待服务自动重新注册到第二个注册中心(8081)
完结。
使用idea搭建SpringCloud项目(及所遇到的坑),不过这个确实最后两个注册中心和服务内容有点儿瑕疵