为什么要设置集群?
因为要保证高可用,如果注册中心只有一个,还挂了,那整个微服务系统就没用了,所以设置Eureka集群。
要保证服务高可用,需要搭建Eureka注册中心集群,实现负载均衡+故障容错等
服务注册:
将服务信息注册进注册中心。
服务发现:
从注册中心获取服务信息。其本质上就是存储key,获取value。
消费者如何获取服务?
消费者在需要调用相应的服务接口的时候,使用服务别名去注册中心获取实际的RPC远程调用地址。消费者获取到实际的地址的时候,底层实际利用HttpClient技术实现远程调用,另外,消费者在获取到地址之后会存储在JVM内存中,每隔30s更新一次服务调用地址。
使用负载均衡调用注意事项,服务请求的访问地址要用服务名,不能用实际地址,不然不能使用负载均衡算法。
自我保护机制
当服务出现问题的时候,由于网络或者其他故障暂时出现与在注册中心失联,此时注册中心不会立即删除服务,而是选择保留实例,宁可不杀,不能错杀!(默认90s没有收到心跳包就会删除服务,90
s内不会)