学习eureka集群配置
集群原理
eureka
服务注册:将服务信息注册服务中心
服务发现:从服务注册中心获取服务信息
实质:存key服务命令 取value调用地址
微服务RPC远程服务调用最核心的是什么:
高可用:防止注册中心歇菜了,那给模块的微服务之间调用就凉了,解决办法就是搭建Eureka注册中心集群,实现负载均衡+故障容错
原理:互相注册,相互守望
windows模拟配置集群
看图操作
相互守望,修改yml文件信息,配置的两个集群相互注册
启动两个eureka注册中心服务,访问刚刚配置的信息
可以看图上的地址,相互访问显示这样就配置成功
将需要的服务注册到集群中去,注册中心集群逗号隔开,看下图
这样可以看到服务注册到注册中心去了,启动时候需要注意下,先启动注册中心集群,后启其他微服务,其实启动其他的微服务虽然报错,但是注册中心启动好了,其他的微服务也就不会报错了
其他的微服务搭建集群
就复制一个模块,全部都是一样的,唯独端口修改,项目的名称也不要修改,那微服务的集群就搭建好了,由于该集群服务被调用的名称一样,区别就在端口上,怎么看调用的微服务是哪一个,也就是负载均衡怎么体现的,看截图
这样获取端口并写一个输出,看调用的是哪个微服务,
启动好微服务集群,访问服务调用,最原始的使用restTemplet来访问的,看截图,其中访问的方式是写死了的,这个适合单机版的服务
,微服务现在是集群了,这样方式就行不通了,看微服务启动好了后,可以看到两个微服务集群
上面的单机版,现在集群暴露的是微服务集群的名称,那么此时将代码中写死的地址改成微服务名称,那个http要带着
这个也一定要修改restTempelat的配置文件,看下图
添加此注解赋予负载均衡能力,默认采用的轮询的机制访问微服务集群的
eureka自我保护机制
禁止自我保护机制
修改Eureka的yml文件,将注册中心的保护机制关闭,默认的是打开为true,将集群的形式修改成单机版的,关闭自我保护模式,并且将心跳时间算法为2秒
访问该注册中心,将会提示下图信息,表示注册中心关闭了
修改微服务配置信息,配置微服务集群,变成单机版,然后添加两个属性
启动过后,显示该微服务在注册中心
当该微服务出故障,例如关闭,刷新下那么将出现下图,以前关闭自我保护机制会显示的