博客
关于我
SpringCloud-Eureka
阅读量:271 次
发布时间:2019-03-01

本文共 1239 字,大约阅读时间需要 4 分钟。

什么是Eureka?

Eureka 是 Netflix 公司开发的一个核心模块,也是其服务注册与发现系统的重要组成部分。作为基于 RESTful APIs 的服务定位系统,Eureka 主要功能是实现云端中间层服务发现和故障转移。服务注册与发现对微服务架构而言至关重要,它通过服务标识符让开发者无需手动修改配置文件即可调用服务,类似于 Dubbo 的注册中心(如 Zookeeper)。


Eureka 的基本架构

Eureka 的架构设计采用了客户-服务器(C-S)模式,其中 Eureka Server 作为服务注册中心,负责管理和存储所有系统中微服务的注册信息。其他微服务作为 Eureka 的客户端需要连接到 Eureka Server 并与之保持心跳连接。通过这种方式,系统管理员可以实时监控各个微服务的状态,SpringCloud 等其他模块(如 Zuul)也可以利用 Eureka Server 发现和调用系统内其他微服务。


Eureka 的核心组件

Eureka 系统主要包含两个核心组件:Eureka ServerEureka Client

  • Eureka Server

    • 负责服务的注册和存储,启动后会将各节点的服务信息注册到 Eureka Server 的服务注册表中。
    • 提供直观的界面让管理员查看所有可用服务节点的信息。
  • Eureka Client

    • Java 客户端,用于简化与 Eureka Server 的交互。
    • 内置了轮询负载均衡器,能够自动根据服务状态进行智能负载均衡。
    • 客户端会向 Eureka Server 发送心跳包(默认周期为 30 秒),如果 Eureka Server 在 90 秒内未接收到心跳包,则会将该服务节点从注册表中移除。

  • Eureka 的三大角色

    在 Eureka 系统中,各个角色协同作用,确保服务的注册、发现和负载均衡:

  • Eureka Server

    • 作为服务注册中心,负责接收和存储所有微服务的注册信息。
  • Service Provider

    • 提供自身服务,通过将服务注册到 Eureka Server,使消费方能够通过服务标识符找到并调用。
  • Service Consumer

    • 消费方从 Eureka Server 获取服务列表,通过负载均衡器智能选择服务实例进行调用。

  • Eureka 与 Dubbo 的对比

    Eureka 和 Dubbo 都是服务注册与发现的解决方案,但两者在架构和实现上有明显差异。

    特性 Eureka Dubbo
    服务定位方式 基于 RESTful API 基于 WebSocket 或 HTTP
    负载均衡算法 轮询(客户端轮询) 智能负载均衡器
    心跳机制 客户端发送心跳(默认 30 秒) 可配置心跳检测
    注册中心类型 单机部署(支持集群) 支持多种注册中心(如 Zookeeper)

    通过以上对比可以看出,Eureka 更适合分布式系统中的服务注册与发现,尤其是在基于微服务架构的云原生环境中。

    转载地址:http://cbfa.baihongyu.com/

    你可能感兴趣的文章
    Nodejs概览: 思维导图、核心技术、应用场景
    查看>>
    nodejs模块——fs模块
    查看>>
    Nodejs模块、自定义模块、CommonJs的概念和使用
    查看>>
    nodejs生成多层目录和生成文件的通用方法
    查看>>
    nodejs端口被占用原因及解决方案
    查看>>
    Nodejs简介以及Windows上安装Nodejs
    查看>>
    nodejs系列之express
    查看>>
    nodejs系列之Koa2
    查看>>
    Nodejs连接mysql
    查看>>
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    NodeMCU教程 http请求获取Json中文乱码解决方案
    查看>>
    Nodemon 深入解析与使用
    查看>>
    NodeSession:高效且灵活的Node.js会话管理工具
    查看>>
    node~ http缓存
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>
    node中的get请求和post请求的不同操作【node学习第五篇】
    查看>>