Eureka是什么?
eureka是Netfix的子模块之一,也是一个核心的模块,eureka里有两个组件,一个是EurekaServer,这是一个独立的项目,是用来注册服务、负载均衡和故障转移,另一个就是EurekaClient,也就是一个个的微服务,他用来与Server进行交互,可以使交互变得非常简单。
与spring-cloud之间的关系
Spring Cloud 封装了 Netflflix 公司开发的 Eureka 模块来实现服务注册和发现(可以对比Zookeeper)。Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,作为 Eureka 的客户端连接到Eureka Server并定时发送心跳。这样维护人员就可 以通过Eureka Server 来监控系统中各个微服务是否正常运行。SpringCloud 的一些其他模块(比如Zuul)就可以通过 Eureka Server 来发现系统中的其他微服务。
关系图
如何应用?
在spring-cloud里面加入依赖:
Eureka客户端:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
Eureka服务端:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
注意:这里有一个坑就是eureka的依赖问题,如果大家是用的一些博客的依赖,可能是spring-cloud-starter-eureka-server这种的,这种的是老版本的依赖,最新版本的依赖更规范了是上边这个spring-cloud-starter-netflix-eureka-server,这个大家可以去Spring官网上进行查阅。
Eureka服务端项目配置文件:
然后在spring-boot启动项目上 加入注解:@EnableEurekaServer 就可以启动服务端项目了 :
启动服务端访问服务端地址如下图:
红色警告只是说你把配置文件里的保护机制关闭了,这个没关系。
Eureka客户端配置文件:
然后在客户端的spring-boot启动项目上 加入注解:@EnableEurekaClient 就可以启动项目了:
效果图:
这里我们能看见 名字叫CLIENT-1的(图中将其大写了) id为 cl-1的服务 注册到我们的Eureka上面来了。一个简单的eureka已经搭建好了。
下一篇讲集群的搭建。
如有错误的地方请指出来哦!