【Spring Cloud】搭建 Eureka 高可用服务注册中心集群
Eureka 是 spring cloud 中的一个负责服务注册与发现的组件。遵循着 CAP 理论中的 A(可用性) P(分区容错性)。
一个 Eureka 中分为 eureka server 和 eureka client。其中 eureka server 是作为服务的注册与发现中心。 eureka client 既可以作为服务的生产者,又可以作为服务的消费者。
该案例,我们采用一个项目中集成多个子 module 的方式实现。
- 首先会启动一个 Eureka server,该 eureka server 同步保留着所有的服务信息。该子module命名为 eurekaserver 。
- 然后我们启动第一个 eureka client,向服务端发起服务注册,他作为服务提供者。该子module命名为 eurekaprovider 。
- 然后我们启动第二个 eureka client,向服务端发起服务注册,他作为服务消费者。该子module命名为 eurekaconsumer 。
父 Module 的实现
项目结构
spring cloud 基于 spring boot 进行开发,因此我们需要创建一个 spring boot 项目,同时在里面新建三个子 module,分别是:eurekaserver、eurekaprovider、eurekaconsumer。
项目结构如下:
POM 配置
pom文件配置如下:
eureka server 实现
此章节我们开发一个 Eureka server,该 eureka server 作为注册中心,同步保留所有的服务信息。
server pom 配置
在子module eurekaserver 中的 pom.xml里添加如下的配置信息
server 启动类
新建启动类,并在我们的启动类中添加注解 @EnableEurekaServer
应用配置信息
我们在eureka server中采用yml的方式进行配置,并对每一行的作用做了详细的备注。
resource目录下新建application.yml文件,并添加一下配置信息:
eureka server 注册中心就准备完毕了。启动eureka server,静静等待其他服务的注册吧。
服务启动成功:
注册中心后台页面可以正常打开:
eureka provider 实现
此章节我们开发一个 eureka client,向服务端发起服务注册,他作为服务提供者对外提供服务。
provider pom 配置
pom.xml中添加如下的配置信息
provider 启动类
新建启动类,并在我们的启动类中添加注解 @EnableDiscoveryClient
应用配置信息
为何熟练掌握多种配置方式,我们在 eureka provider 中采用 properties 的方式进行配置,并对每一行的作用做了详细的备注。
resource目录下新建 aapplication.properties 文件,并添加一下配置信息:
对外提供服务
新建一个controller,并写一个简单的hello api。代码如下:
eureka provider 服务提供者就准备完毕了。启动eureka provider ,静静等待其他client的调用吧。
provider 启动成功:
provider 成功注册到了注册中心:
eureka consumer 实现
此章节我们开发一个 eureka client ,向服务端发起服务注册,他作为服务消费者者,对 provider 进行远程调用。
consumer pom 配置
pom.xml中添加如下的配置信息
consumer 启动类
新建启动类,并在我们的启动类中添加注解 @EnableDiscoveryClient
应用配置信息
为何熟练掌握多种配置方式,我们在 eureka consumer 中采用 properties 的方式进行配置,并对每一行的作用做了详细的备注。
resource目录下新建 aapplication.properties 文件,并添加一下配置信息:
开启自测试
新建一个controller,并写一个简单的hello api。内部发起远程调用,代码如下:
eureka consumer 服务提供者就准备完毕了。启动 eureka consumer ,开始测试吧。
consumer 成功注册到注册中心:
consumer发起远程调用,成功获取到了 provider 提供的服务返回信息:
总结:
本文简单介绍了 eureka 的单中心案例,下一个文章,我们介绍下 eureka 高可用方案。 敬请期待。
该案例源码所在地址:
原文链接:https://piterjia.github.io/2020/06/04/micro-service-eureka/
版权声明:
作者:白纸画
链接:https://www.fanyicloud.cn/article-23.fan
来源:白纸画的博客
文章版权归作者所有,未经允许请勿转载。
全部评论