学习springboot 集成 spring Cloud 之服务注册eureka【服务端注册中心】集群(二)
本篇文章主要介绍:springCloud 的 服务注册和发现Eureka的集群配置和搭建,也总结遇到的坑。
项目搭建会基于上篇博客: 学习springboot 集成 spring Cloud 之服务注册eureka(一)
一:分析为何要做 Eureka 服务注册中心的集群
1.首先大家来看一张图:分析下这张图【这张图介绍了Eureka注册中心和客户端和服务提供者之间的关系链,生产环境下
若是只有一台服务器提供注册中心,一旦出现了未知的错误,那真是如同火车头坏了,所有的服务全部崩了,所以避免
出现这种单机情况,我们做Eureka集群】
二:介绍Eureka注册中心集群
1.首先看图,Eureka注册服务通过集群方式来达到高可用,这张图够明确了我觉得。
三:开始搭建Eureka服务注册中心集群
1.本次搭建项目,来自我的上一篇博客搭建的项目,在此不做过多的赘述!,查看之前项目结构。《项目基本结构图》,此时
只有一个服务注册中心,咱们现在呢在创建一个Eureka服务注册中心。【创建规则看上篇博客】【一个叫:
eureka-server-7000,一个叫:eureka-server-7001】
2.创建好两个Eureka注册中心后开始修改两个yml文件
开始之前:需要去Windows系统修改一下hosts文件做域名映射,Windows10系统hosts文件位置:
C:\Windows\System32\drivers\etc。新增两个域名:
修改注册中心:eureka-server-7000 的application.yml
server:
port: 7000
spring:
application:
name: eureka-server #服务名称
eureka:
instance:
prefer-ip-address: true #显示服务的真是地址IP
hostname: eureka.server7000.com #服务主机地址(做集群用的Windows修改hosts文件做域名映射)
instance-id: eureka-server-7000
client:
register-with-eureka: false #把eureka服务是否注册到服务中心,默认:true
fetch-registry: false #在eureka服务注册表中发现自己,默认:true
service-url:
defaultZone: http://eureka.server7001.com:7001/eureka/ #eureka服务注册中心的地址
修改注册中心:eureka-server-7001 的application.yml
server:
port: 7001
spring:
application:
name: eureka-server #服务名称
eureka:
instance:
prefer-ip-address: true #显示服务的真是地址IP
hostname: eureka.server7001.com #服务主机地址(做集群用的Windows修改hosts文件做域名映射)
instance-id: eureka-server-7001
client:
register-with-eureka: false #把eureka服务是否注册到服务中心,默认:true
fetch-registry: false #在eureka服务注册表中发现自己,默认:true
service-url:
defaultZone: http://eureka.server7000.com:7000/eureka/ #eureka服务注册中心的地址
3.开始分别启动两个Eureka注册中心
4.访问 http://localhost:7000/ 和 http://localhost:7001/
其实这集群并没有搭建成功,我故意留下了几个点,这几个是坑的地方,我发现有的人并没有意识到这种是错误的,咱们
继续往下看。
5. 修改留下的坑,咱们呢给填上就完美了!
大概有这几点:
1、服务注册中心必须要把自己注册到服务的注册表中,这样集群才会在一起互相的找到,来复制各自的内 容。
2、由于本地是做得假域名映射服务注册中心必须要把真是的ip地址显示给关闭
修改这两个地方(我的是修改后的样子):
prefer-ip-address: false #显示服务的真是地址IP
和
register-with-eureka: true #把eureka服务是否注册到服务中心,默认:true
fetch-registry: true #在eureka服务注册表中发现自己,默认:true
总的修改后两个application.yml配置文件:
eureka-server-7000 :
server:
port: 7000
spring:
application:
name: eureka-server #服务名称
eureka:
instance:
prefer-ip-address: false #显示服务的真是地址IP
hostname: eureka.server7000.com #服务主机地址(做集群用的Windows修改hosts文件做域名映射)
instance-id: eureka-server-7000
client:
register-with-eureka: true #把eureka服务是否注册到服务中心,默认:true
fetch-registry: true #在eureka服务注册表中发现自己,默认:true
service-url:
defaultZone: http://eureka.server7001.com:7001/eureka/ #eureka服务注册中心的地址
eureka-server-7001:
server:
port: 7001
spring:
application:
name: eureka-server #服务名称
eureka:
instance:
prefer-ip-address: false #显示服务的真是地址IP
hostname: eureka.server7001.com #服务主机地址(做集群用的Windows修改hosts文件做域名映射)
instance-id: eureka-server-7001
client:
register-with-eureka: true #把eureka服务是否注册到服务中心,默认:true
fetch-registry: true #在eureka服务注册表中发现自己,默认:true
service-url:
defaultZone: http://eureka.server7000.com:7000/eureka/ #eureka服务注册中心的地址
最后咱们执行下两个注册中心:
访问地址:http://localhost:7000/
访问地址:http://localhost:7001/
四:总结
到这里呢咱们springCloud的Eureka服务注册中心+集群也就完成了,当然了还有些发现注册中心的服务的API的使用,大家就
自己看看官方文档或者百度一下,或者来咱们CSDN博客来学习其他的大神都可以。之后呢还会有服务的注册篇章!