zoukankan      html  css  js  c++  java
  • Spring Cloud Eureka Server使用(注册中心)

     一、什么是Spring Cloud Eureka?

    基于Netflix Eureka做了二次封装

    由两个组件组成

    Eureka Server 注册中心, 提供服务注册的服务,存储所有可用的服务。

    Eureka Client 服务注册。 用于简化与服务的交互的复杂度。

    他们的关系如下图:

    二、注册中心

    Eureka Server

    记录了所有应用的信息和状态

    三、Eureka核心特性

    1、服务注册

    Eureka Client在第一次心跳时向Eureka Server注册

    注册时会提供诸多自身元数据: 主机名、端口、健康指标URL等

    2、服务续约

    Eureka Client通过发送心跳进行续约

    默认情况下每30秒钟发送一次心跳

    如90秒内Eureka Server未收到续约,则进行服务剔除

    3、服务下线

    Eureka Client优雅退出时会发送cancel命令

    Eureka Server收到cancel命令时会删除该节点

     4、获取注册列表信息

    Eureka Client会缓存由Server获取的注册表信息

    Eureka Client会定期更新注册表信息【默认30秒】

    Eureka Client会处理注册表的合并等内容(合并、修改、剔除等)

    四、创建工程

    下一步

    下一步

    然后在类EurekaApplication中增加EnableEurekaServer注解

    创建好了之后,启动应用

    但是不停的报如下错误

    com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

     解决方法:创建application.yml文件,增加如下图的配置

    2、打开localhost:8080

     因为该应用程序是注册中心,不应该出现在Instances currently registered with Eureka中

    所有增加配置

    3、修改端口

    因为Java很多默认的端口是8080,为了便于管理,将端口改成默认端口8761

    六、多注册中心比较

    1、分布式基础: CAP理论

    C: 一致性:Consistency

    A:可用性 : Available

    P: 分区容错性: Partition tolerance

    2、常见注册中心: Zookeeper, Eureka等。

    3、Eureka主要保证AP特性

    4、Zookeeper是典型的CP特性

    七、Eureka注册慢的原因?

    注册慢的根本原因在于Eureka的AP特性

    Eureka Client延迟注册,默认30秒

    Eureka Server的响应缓存,默认30秒

    Eureka Server的缓存刷新,默认30秒

    八、Eureka的自我保护

    Eureka Server会自动更新续约更新阈值

    Eureka Server续约更新频率低于阈值则进入保护模式。

    自我保护模式下Eureka Server不会剔除任何注册信息

  • 相关阅读:
    (转载)显示调用构造函数和析构函数
    (转载)c库不正确问题
    (转载)LINUX UNBUNTU10.04 下 搭建OC编译环境
    (转载)Chrome 快捷键 整理版
    (转载)php循环检测目录是否存在并创建(循环创建目录)
    (转载)PHP 判断常量,变量和函数是否存在
    Dockerfile 指令
    JavaEE&Docker 容器示例
    docker 中运行 redis 服务
    docker 中运行 sshd 服务
  • 原文地址:https://www.cnblogs.com/linlf03/p/9957652.html
Copyright © 2011-2022 走看看