SpringCloud学习笔记(二)EurekaServer集群
在实际的项目可能有几百个微服务实例,这时候EurekaServer承担了非常高的负载,由于EurekaServer在微服务中有着举足轻重的作用,所以要对EurekaServer进行高可用的集群
对于上面的流程图,我谈一下个人的理解,首先由三个Eureka Server也就是三个节点,当一个节点损坏,其它节点能够分担它的工作,不会影响整个流程,每个节点都保存服务的注册表,每一个Client可以向Server注册成为一个ApplicationServcie同时也可以向其他的Service请求服务。
还是用上一篇的例子
修改 eureka-server的application.yml
---
spring:
profiles: peer1
server:
port: 8761
eureka:
instance:
hostname: peer1
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://peer2:8769/eureka/
---
spring:
profiles: peer2
server:
port: 8769
eureka:
instance:
hostname: peer2
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://peer1:8761/eureka/
通过profiles可以设置多个配置,然后通过**不同的profiles,产生拥有不同配置的环境,**的方式有很多种,可以通过jvm参数,也可以启动时**,也可以配置时。
eureka-client的配置文件
eureka:
client:
service-url:
default-zone: http://peer1:8761/eureka/
server:
port: 8763
spring:
application:
name: eureka-client
然后用maven把eureka-server打包
打包的时候可能会报错,先不要管,因为不会影响你使用,我会专门写一篇博客讨论这个问题https://blog.csdn.net/qq_33543634/article/details/82393202
打包好后会在你的eureka-server的target目录下出现一个
eureka-server-0.0.1-SNAPSHOT.jar
然后打开控制台,进入这个jar包的目录
启动成功
再打开一个cmd启动另一个配置
接着启动eureka-client
eureka-client向8761注册成功。
同时发现
8769也获取到了erueka-client的注册信息
注意那个 DS Replicas就是从那个节点同步信息,peer1就是8761的那个节点
参考资料:
《深入理解spring+cloud与微服务的创建》
上一篇: SpringBoot整合mongoDB