一 . 完成一个Eureka(服务端)项目
1.登录网址
https://start.spring.io/
选择需要的依赖 -> Eureka Server
解压至本地
2.通过IDEA 以Maven项目导入。
(1)添加注解@EnableEurekaServer
(2)配置基础参数
3.项目运行
可以看到,暂时没有应用存在,接下来,注册一个应用。
二. 完成一个Eureka(服务端)项目
1.登录网址
https://start.spring.io/
选择需要的依赖 -> Eureka Discovery
解压至本地
2.项目导入
(1)通过IDEA 以Maven项目导入。
(2)在启动类上加入注解
@EnableDiscoveryClient
(3)修改配置文件,配置服务注册中心地址
(4)注意:
需要在pom文件中加入对Web的依赖
3.项目运行
可以在服务注册中心看到我们新注册的应用
三.建立一个高可用的服务注册中心(Eureka)
任何服务器都有可能会有挂掉的时候,所以配置多台eureka服务注册中心也是很有必要的。
其实通过Spring Cloud配置多台eureka是一件容易完成的事
假设此处要配置3个eureka
则需要将每个eureka分别注册到另外俩个eureka上
如图所示
修改 application.yml文件如下
#节点1
---
spring:
application:
name: eureka
profiles: peer1
eureka:
client:
service-url:
defaultZone: http://peer2:8762/eureka/,http://peer3:8763/eureka/
register-with-eureka: false
instance:
hostname: peer1
server:
enable-self-preservation: false
server:
port: 8761
#节点2
---
spring:
application:
name: eureka
profiles: peer2
eureka:
client:
service-url:
defaultZone: http://peer1:8761/eureka/,http://peer3:8763/eureka/
register-with-eureka: false
instance:
hostname: peer2
server:
enable-self-preservation: false
server:
port: 8762
#节点3
---
spring:
application:
name: eureka
profiles: peer3
eureka:
client:
service-url:
defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka/
register-with-eureka: false
instance:
hostname: peer3
server:
enable-self-preservation: false
server:
port: 8763
#单台eureka服务器下的配置
---
spring:
application:
name: eureka
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
register-with-eureka: false
instance:
hostname: localhost
server:
enable-self-preservation: false
server:
port: 8761
---
分别启动3个eureka
然后启动eureka-client
查看服务注册情况
http://localhost:8761/
http://localhost:8762/
http://localhost:8763/
效果如图
可以在三个eureka上都看见eureka-client
注意:(这一步需要先配置hosts,windows 的hosts文件在如下地址
C:\Windows\System32\drivers\etc\hosts)
配置如下
如果此时我们模拟服务挂掉的情况,关掉eureka1的服务,会发现另外俩个eureka是不受影响的,但是eureka-client将无法被发现
这是因为我们的eureka-client配置
只配置了一个eureka节点
我们需要配置上另外俩个节点的地址
这样即使一个服务器挂掉,对整体也不会有影响了。