注册中心 —— SpringCloud Netflix Eureka

这篇具有很好参考价值的文章主要介绍了注册中心 —— SpringCloud Netflix Eureka。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Eureka 简介

Eureka 是一个基于 REST 的服务发现组件,SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 SpringCloud 的服务注册与发现,同时提供了负载均衡、故障转移等能力,目前 Eureka2.0 已经不再维护,故不推荐使用

Eureka 有两种角色组件:

  • Eureka Server:服务注册中心组件,提供了服务的注册与发现的接口
  • Eureka Client:各种微服务,把自身的服务实例注册到 Eureka Server 中,也可通过 Eureka Server 获取服务列表,消费服务

微服务客户端在 Eureka 上注册,然后每隔 30 秒发送心跳来更新它们的租约。如果客户端不能多次续订租约,就将在大约 90 秒内从服务器注册表中剔除。注册信息和更新被复制到集群中的所有 Eureka 节点,来自任何区域的客户端都可以查找注册表信息(每30秒发生一次)来定位它们的服务并进行远程调用


搭建 Eureka 注册中心

创建 eureka-server 项目,引入依赖,本项目基于 SpringBoot 2.3.1,SpringCloud Hoxton.SR12

<dependencies>
    
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    
    ...
<dependencies>

在启动类上添加 @EnaleEurekaServer 注解,启用 Euerka 注册中心功能

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

在配置文件添加 Eureka 服务端的配置

server:
  port: 8001 # 指定运行端口

spring:
  application:
    name: eureka-server # 指定服务名称

eureka:
  instance:
    hostname: localhost # 指定主机名称
  client:
    fetch-registry: false # 指定能否从注册中心获取服务
    register-with-eureka: false # 指定是否将服务注册到注册中心

运行 main 方法启动服务,在浏览器中访问 http://localhost:8001/ 便可以看到 Eureka 注册中心的界面

创建 eureka-client 项目,引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

在启动类上添加 @EnableDiscoveryClient 注解,表明是一个 Eureka 客户端

@EnableDiscoveryClient
@SpringBootApplication
public class EurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }
}

在配置文件添加 Eureka 客户端的配置

server:
  port: 8101 # 指定运行端口

spring:
  application:
    name: eureka-client # 指定服务名称

eureka:
  client:
    fetch-registry: true # 指定能否从注册中心获取服务
    register-with-eureka: true # 指定是否将服务注册到注册中心
    service-url:
      defaultZone: http://localhost:8001/eureka

运行 main 方法,启动 eureka-client 项目,刷新 http://localhost:8001/ 页面,即可看到 cureka-client 已经注入 Eurcka 服务


搭建 Eureka 注册中心集群

由于所有服务都会注册到注册中心,服务之间的调用都是通过从注册中心获取服务列表来调用的。注册中心一旦宕机,所有服务调用都会出现问题,因此需要多个注册中心组成集群来提供服务

创建两个 eureka-server 项目,eureka-server-1 项目的配置文件如下:

server:
  port: 8002 # 指定运行端口

spring:
  application:
    name: eureka-server-1 # 指定服务名称

eureka:
  instance:
    hostname: localhost # 指定主机名称
  client:
    fetch-registry: true # 指定能否从注册中心获取服务
    register-with-eureka: true # 指定是否将服务注册到注册中心
    service-url:
      defaultZone: http://localhost:8003/eureka/

eureka-server-2 项目的配置文件如下:

server:
  port: 8003 # 指定运行端口

spring:
  application:
    name: eureka-server-1 # 指定服务名称

eureka:
  instance:
    hostname: localhost # 指定主机名称
  client:
    fetch-registry: true # 指定能否从注册中心获取服务
    register-with-eureka: true # 指定是否将服务注册到注册中心
    service-url:
      defaultZone: http://localhost:8002/eureka/

通过两个注册中心互相注册,搭建注册中心的双节点集群。分别启动项目,查看 http://localhost:8001/http://localhost:8002/,可以看到两个注册中心已经分别注册了文章来源地址https://www.toymoban.com/news/detail-644564.html


到了这里,关于注册中心 —— SpringCloud Netflix Eureka的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringCloud之Eureka注册中心解读

    目录 Eureka基础概念 概述 Eureka Serve Eureka Client @EnableEurekaServer  @EnableEurekaClient java代码实战 实战架构 父工程pom文件  eureka-server服务 student-service服务 teacher-service服务  测试 概述 ​ Eureka 又称 服务注册中心,全部服务都需要进行注册才能使用,也是微服务架构中必不可少的一

    2024年01月16日
    浏览(42)
  • 使用SpringCloud搭建Eureka注册中心

    目录 前言 一、搭建EurekaServer 1、在cloud-demo父工程下,创建子模块 eureka-server。  2、引入eureka依赖 3、给eureka-server模块编写启动类 4、编写配置文件 5、启动服务 二、服务注册  1、引入依赖 2、配置文件 3、启动服务  三、服务发现 1、引入依赖 3、服务拉取 总结          在

    2024年02月04日
    浏览(37)
  • SpringCloud-Eureka注册中心

    🍁 博客主页: 👉@不会压弯的小飞侠 ✨ 欢迎关注: 👉 点赞 👍 收藏 ⭐ 留言 ✒ ✨ 系列专栏: 👉SpringCloud专栏 ✨ 知足上进,不负野心。 🔥 欢迎大佬指正,一起学习!一起加油! 服务拆分注意事项 1.单一职责:不同微服务,不要重复开发相同业务 2.数据独立:不要访问

    2024年01月17日
    浏览(40)
  • Springcloud1--->Eureka注册中心

    Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址 提供者:启动后向Eureka注册自己信息(地址,提供什么服务) 消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新 心跳(续约):提供者定期通过http方式向Eureka刷

    2024年02月05日
    浏览(37)
  • springCloud Eureka注册中心配置详解

    1、创建一个springBoot项目 2、在springBoot项目中添加SpringCloud依赖 3、在springBoot项目中创新建一个子模块eureka-server: 4、搭建Eureka 添加依赖:在新建一个子模块的pom.xml中添加依赖 创建配置文件:在resources文件下创建一个名为 application.yml (或 application.properties )的配置文件,并

    2024年02月15日
    浏览(45)
  • SpringCloud之Eureka 服务注册中心

    5 Eureka 服务注册中心 5.1什么是 Eureka Netflix在涉及Eureka时,遵循的就是API原则. Eureka是Netflix的有个子模块,也是核心模块之一。Eureka是基于REST的服务,用于定位服务,以实现云端中间件层服务发现和故障转移,服务注册与发现对于微服务来说是非常重要的,有了服务注册与发

    2024年02月04日
    浏览(46)
  • 【SpringCloud入门】-- 初识Eureka注册中心

    目录 1.SpringCloudEureka简介 2.什么是CAP原则? 3.注册中心的概念? 4.SpringCloud其他注册中心 5.搭建Eureka注册中心 6.eureka的配置(主要是server,instance,client) 7.eureka集群概念 8.eureka集群搭建 1.SpringCloudEureka简介 注册发现中心Eureka,意为“发现了”。它是Netflix公司开发的一款基于RES

    2024年02月09日
    浏览(42)
  • SpringCloud搭建Eureka服务注册中心(六)

    前面说过eureka是c/s模式的  server服务端就是服务注册中心,其他的都是client客户端,服务端用来管理所有服务,客户端通过注册中心,来调用具体的服务; 我们先来搭建下服务端,也就是服务注册中心; project xmlns=\\\"http://maven.apache.org/POM/4.0.0\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSche

    2024年02月10日
    浏览(61)
  • SpringCloud(二) Eureka注册中心的使用

    在SpringCloud(一)中,我们学会了使用RestTemplate进行远程调用,但是在调用user-service时候需要在order-service中发送http请求,请求中需要书写对应微服务的ip和端口号,十分不方便,如果此时有多个user-service实例的话,就不知道调用哪个了(除非每次调用的时候都对ip和端口号进行调整),所以本

    2024年02月07日
    浏览(42)
  • SpringCloud(2) 注册中心Eureka、Nacos

    注册中心是微服务中必须要使用的组件,考察我们使用微服务的程度。 注册中心的核心作用是:服务注册和发现。 常见的注册中心: Eureka、Nacos 、Zookeeper 下面我们以 Eureka 注册中心为例,说一下注册中心的作用: 假如我们有一个订单服务 order-service ,需要消费用户服务 u

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包