Eureka简介
一、Eureka简介
Eureka来源于古希腊词汇,意为“发现了”。在软件领域, Eureka是Netflix 在线影片公司开源的一个服务注册与发现的组件,和其他Netflix公司的服务组件(例如负载均衡、熔断器、网关等)一起,被Spring Cloud 社区整合为Spring Cloud Netflix 模块。
和Consul 、Zookeeper 类似, Eureka是一个用于服务注册和发现的组件,最开始主要应用于亚马逊公司旗下的云计算服务平台AWS。Eureka 分为Eureka Server 和Eureka Client, Eureka Server 为Eureka服务注册中心,Eureka Client为Eureka客户端。
选择Eureka的原因:
1、Eureka 完全开源, 经历了Netflix 公司的生产环境的考验,以及3 年时间的不断迭代,在功能和性能上非常稳定;
2、Eureka 是Spring Cloud 首选推荐的服务注册与发现组件, 与Spring Cloud 其他组件可以无缝对接
3、Eureka 和其他组件,比如负载均衡组件Ribbon 、熔断器组件Hystrix、熔断器监控组件Hystrix Dashboard 组件、熔断器聚合监控Turbine 组件,以及网关Zuul 组件相互配合, 能够很容易实现服务注册、负载均衡、熔断和智能路由等功能。
这些组件都是由Netflix 公司开源的,一起被称为Netflix OSS 组件。Netflix OSS 组件由Spring Cloud 整合为Spring Cloud Netflix 组件,它是Spring Cloud 构架微服务的核心组件,也是基础组件。
Eureka 的基本架构:
Register Service :服务注册中心,它是一个Eureka Server,提供服务注册和发现的功能;
Provider Service :服务提供者,它是一个Eureka Client,提供服务;
Consumer Service :服务消费者,它是一个Eureka Cient,消费服务;
服务消费的基本过程如下:
首先要一个服务注册中心Eureka Server ,服务提供者Eureka Client 向服务注册中心Eureka Server 注册,将自己的信息(比如服务名和服务的IP 地址等)通过REST API的形式提交给服务注册中心Eureka Server 。
服务消费者Eureka Client 也向服务注册Eureka Server 注册,同时服务消费者获取一份服务注册列表的信息, 该列表包含了所有向脱务注册中心Eureka Server 注册的服务信息。获取服务注册列表信息之后,服务消费者就知道服务提供者的IP 地址,可以通过Http 远程调度来消费服务提供者的服务。