Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Spring Cloud将它集成在其他子项目spring-cloud-netflix中,以实现spring cloud服务发现功能。
eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。
springcloud需要三个部分,第一部分提供发现组件(eureka)的server服务器,这是整个网络的核心,第二部分,提供服务的client客户端,这是分模块的,可以在程序代码中选择访问模块。第三部分是对外提供端口的ribbon中转服务器,可做集群,与client存在多对一的关系映射。
创建Eureka server个Client使用的方法是相同的只是在启动类中的注解不一样。
以下是Eureka server创建过程图: