Eureka是Springcloud一个组件,主要负责完成微服务架构中的服务治理功能,实现服务的注册和发现,是Springcloud默认的服务注册中心。
eureka包含两个组件,eureka serve 和eureka client。eureka client是一个Java程序客户端,用于简化和eureka serve的交互。Eureka Server提供服务发现的能力,各个微服务启动时,会通过Eureka Client向Eureka Server进行注册自己的信息,Eureka Server会存储该服务的信息。
AP:Eureka各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。而Eureka的客户端在向某个Eureka注册时如果发现连接失败,则会自动切换至其它节点,只要有一台Eureka还在,就能保证注册服务可用(保证可用性),只不过查到的信息可能不是最新的(不保证强一致性)。Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像Zookeeper那样使整个注册服务瘫痪。
简单实现
Eureka注册中心
1.eureka-server依赖
2.配置文件
3.启动类@EnableEurekaServer注解
配置文件,配置注册中心信息
启动类添加注解
服务提供端
1.eureka-client依赖
2.配置文件
3.启动类@EnableEurekaClient注解
4.提供的服务业务
生产者提供的服务
服务消费端
1.eureka-client依赖
2.配置文件
3.启动类@EnableEurekaClient注解
4.LoadBalancerClient、RestTemplate调用服务
LoadBalancerClient:通过ribbon的方式调用远程服务。
ribbon:实现了集群服务调用过程中的负载均衡。
此处启动了三个生产者