-
Spring-Cloud Euraka介绍
Eureka是Netflix中的一个开源框架,是Spring Cloud集合中一个组件与 zookeeper、Consul一样,都是用于服务注册管理
-
什么是服务治理
在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,由于难以管理,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
-
什么是服务注册与发现
Eureka采用了CS的设计架构,Eureka Server为服务器,系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心跳连接,这样就可以实现Eureka Server 来监控系统中各个微服务是否正常运行,另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,说到客户端服务端,有必要提一下Eureka两组件
-
Eureka两大组件
- Eureka Server提供服务注册服务,每个微服务节点通过配置启动,会在EurekaServer中进行注册,EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到
- Eureka客户端具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向EurekaServer发送心跳(默认周期为30秒)。如果EurekaServer在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)
Eureka系统架构图
这是Eureka的系统架构图,举个例子,教师授课,学生听课,学校提供注册.这三者就像是一个Eureka架构
教师 相当于 Service Provider
学生 相当于 Service Consumer
学校 相当于 Eureka Server
每个老师在学校中进行注册入职,这个时候学生就可以通过别名的方式获取授课内容,比如说:从工号101的老王那里获取语文知识,这个时候学校也清晰地知道哪个老师教哪些学生一个监控,此外上面提到客户端有一个心跳连接,什么意思就是老师对学校说:世界那么大,我想出去看看,对吧,学校就会将老师从学校踢出,从注册中心移除.