SpringCloud 注册中心 (Eureka) 快速入门
前言
Eureka 是一个基于 REST 的服务,主要用于 AWS 云中的定位服务,以实现中间层服务器的负载平衡和故障转移。在 Spring Cloud 微服务架构中通常用作注册中心我们称这个服务为 Eureka Server,还有一个与之交互的客户端称之为 Eureka Client
官网:https://github.com/Netflix/eureka
1、Eureka 注册中心
在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。首先我们注册中心服务端:eureka-server,这必须是一个独立的微服务。下面我们来搭建搭建 eureka-server。
1、新建一个 maven 模块
2、引入 eureka 依赖
引入 SpringCloud 为 eureka 提供的 starter 依赖:
3、编写启动类
给 eureka-server 服务编写一个启动类 EurekaApplication
添加 @EnableEurekaServer 注解开启 eureka 的注册中心功能
添加 @SpringBootApplication 注解表示为启动类
4、编写配置文件
编写一个 application.yml 配置文件,内容如下:
5、启动服务
访问 http://localhost:10086/ :
2、服务注册
1、引入依赖
服务注册,就是将提供某个服务的模块信息(通常是这个服务的 ip 和端口)注册到 1 个公共的组件上去。
在 user-service 的 pom 文件中,引入下面的 eureka-client 依赖:
2、配置文件
在 user-service 中,修改 application.yml 文件,添加服务名称、eureka 地址等。
3、启动 user-service
启动 user-service 之后,查看 eureka-server 管理页面,可以看到 user-service 注册到了注册中心。
如下图所示:
3、服务发现
服务发现,就是 user-service 的信息可以通过 eureka-server 服务获取到,正好 order-service 服务需要调用 user-service 来实现远程调用,下面使用 eureka 来实现服务发现。
1、引入依赖
在 order-service 的 pom 文件中,引入下面的 eureka-client 依赖:
2、配置文件
服务发现也需要知道 eureka 地址,因此与服务注册一致,都是配置 eureka 信息,在 order-service 中,修改 application.yml 文件,添加服务名称、eureka 地址等。
3、服务拉取
1、首先需要给 RestTemplate 这个 Bean 添加一个 @LoadBalanced 注解
2、修改 queryOrderById 方法
把 localhost 也就是 IP 改成了注册时的名称
3、测试
oder-service 使用 user-service 代替 Ip 功能依旧正常
总结
以上就是 Eureka 的简单入门,简单说他就是一个注册中心,服务可以注册、发现,其实也算有点生产者和消费者的感觉。
版权声明: 本文为 InfoQ 作者【斯】的原创文章。
原文链接:【http://xie.infoq.cn/article/65086ebd125a066332abfdfd7】。文章转载请联系作者。
评论