搭建Eureka高可用集群

(一)理论知识
1.Eureka工作原理
Spring Cloud框架下的服务发现Eureka包含两个组件,分别是: Eureka Server与Eureka Client.
Eureka Server,也称为服务注册中心。各个服务启动后,会在Eureka Server中进行注册,这样Eureka Server的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client也称为服务(服务实例)。作为一个Java客户端,用于简化与Eureka Server的交互。Eureka Client内置一个 使用轮询负载算法的负载均衡器。服务启动后,Eureka Client将会向Eureka Server发送心跳更新服务,如果Eureka Server在多个心跳周期内没有接收到某个服务的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
Eureka组件的工作原理,如图1所示。
在这里插入图片描述

Eureka Client注册在Eureka Server, Eureka Client中的服务Service是通过REST调用的。Eureka Client还具有缓存功能,它能够从Eureka Server查询当前注册的服务信息并缓存到本地,这样即使Eureka Server宕机,Eureka Client依然可以利用缓存中的信息调用服务。
(二)开发流程
1.更改hosts文件配置
以Windows系统为例,如果要构建集群,需要修改hosts文件,为其添加主机名的映射。以Windows系统为例,如果要构建集群,需要修改hosts文件,为其添加主机名的映射。
在这里插入图片描述

2.搭建两个eureka-server
(1)创建项目,引入依赖
使用Spring Initializr方 式创建一个名称为eureka-server和eureka-server-another的Spring Boot项目,这里将Group命名为com.itheima,将Artifact 命名为eureka-server,在pom.xml文件中添加Eureka Server依赖。
(2)添加Eureka的相关配置
在全局配置文件application.yml中添加Eureka的相关配置信息,如图2所示。
在这里插入图片描述

图2 全局配置文件application.yml中添加Eureka的相关配置信息
(3)在项目启动类添加@EnableEurekaServer注解
在项目启动类EurekaServerApplication.上添加@EnableEurekaServer注解开启Eureka Server功能。
(4)启动服务
测试服务搭建成功,如图3所示。
在这里插入图片描述

图3 测试服务搭建成功
3. 搭建两个eureka-provider
(1)创建项目,引入依赖
使用Spring Initializr方式创建一个名称为eureka-provider和eureka-provider-another的Spring Boot项目,这里将Group命名为com.itheima,将Artifact 命名为eureka-provider在pom.xml文件中添加EurekaClient和Web依赖。
(2)添加Eureka的相关配置
在全局配置文件application.yml中添加Eureka的相关配置信息,如图4所示。
在这里插入图片描述

图4 全局配置文件application.yml中添加Eureka的相关配置信息
(3)在项目启动类添加@EnableEurekaServer注解
在项目启动类EurekaClientApplication.上添加@EnableEurekaClient注解开启Eureka Client功能。
(4)启动服务
测试服务搭建成功,如图5所示。
在这里插入图片描述

图5 测试服务搭建成功
4. 搭建一个eureka-consumer
(1)创建项目,引入依赖
使用Spring Initializr方式创建一个名称为eureka-consumer的Spring Boot项目,这里将Group命名为com.itheima,将Artifact 命名为eureka-consumer在pom.xml文件中添加EurekaClient和Web依赖。
(2)添加Eureka的相关配置
在全局配置文件application.yml中添加Eureka的相关配置信息,如图6所示。
在这里插入图片描述

图6 全局配置文件application.yml中添加Eureka的相关配置信息
(3)在项目启动类添加@EnableEurekaServer注解
在项目启动类EurekaConsumerApplication.上添加@EnableEurekaClient注解开启Eureka Client功能。
(4)启动服务
测试服务搭建成功,如图7所示。
在这里插入图片描述

图7 测试服务搭建成功
5.测试
依次启动两个Eureka Server、两个服务提供者一个服务消费者。启动成功后,无论访问哪个Eureka Server,Eureka Server的注册实例都是一样的,访问server1: 7000的页面效果如下图8所示。
在这里插入图片描述

图8 测试页面效果
访问server2:7009的页面效果如下图9所示。
在这里插入图片描述

图9 访问server2:7009的页面效果
(三)总结
本章主要讲解了服务注册与发现Eureka,首先介绍了Eureka的工作机制,包括Eureka的工作原理、服务提供者和服务消费者,然后通过开发第一个Eureka应用,加深大家对Eureka工作机制的理解,最后在第一个Eureka应用的基础上,搭建了一个Eureka集群,并讲解了Eureka的相关配置。通过本章的学习,希望读者能够掌握Eureka工作机制,理解Eureka在Spring Cloud微服务开发中的重要性。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

两壶若水

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值