系列四、Eureka自我保护

一、Eureka自我保护

1.1、故障现象

        保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务。如果在Eureka Server的首页看到以下这段提示,则说明Eureka进入了保护模式:

1.2、故障原因 

        注销任何健康的微服务,使用自我保护模式,可以让Eureka集群更加的健壮、稳定。

一句话:某时刻某一个微服务不可用了,Eureka不会立刻清理,依旧会对该微服务的信息进行保存;

属于CAP里面的AP分支;

1.3、怎么禁止自我保护

出厂默认:

        自我保护机制是开启的:eureka.server.enable-self-preservation=true

        # Eureka客户端向服务端发送心跳的时间间隔,单位为秒(默认是30秒)

        eureka.instance.lease-renewal-interval-in-seconds=30

        # Eureka服务端在收到最后一次心跳后等待时间上限,单位为秒(默认是90秒),超时将剔除服务

        eureka.instance.lease-expiration-duration-in-seconds=90

        使用eureka.server.enable-self-preservation = false 可以禁用自我保护模式

1.3.1、application.yml(8001) 

server:
  port: 8001

spring:
  application:
    name: cloud-payment-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/20230906_springcloud_alibaba?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai
    username: root
    password: 123456

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
  mapper-locations: classpath:mappers/*.xml
  global-config:
    db-config:
      # 基于雪花算法生成id
      id-type: assign_id
      logic-delete-field: deleted
      logic-not-delete-value: 0
      logic-delete-value: 1
  type-aliases-package: org.star.entity.model

eureka:
  client:
    # true:表示是否将自己注册进EurekaServer,默认为true
    register-with-eureka: true
    # 是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetch-registry: true
    service-url:
      # 单机版
      defaultZone: http://localhost:7001/eureka
      # 集群版
      # defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
  instance:
    instance-id: payment8001
    prefer-ip-address: true
    # Eureka客户端向服务端发送心跳的时间间隔,单位为秒(默认是30秒)
    lease-renewal-interval-in-seconds: 1

1.3.2、application.yml(7001) 

server:
  port: 7001

eureka:
  instance:
    hostname: localhost
  client:
    # false:表示不向注册中心注册自己、true:表示向注册中心注册自己
    register-with-eureka: false
    # false:表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false

 

相关推荐

  1. 【vim 学习系列文章 16 -- vim 自动保存设置】

    2023-12-31 00:18:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-31 00:18:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-31 00:18:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-31 00:18:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-31 00:18:02       20 阅读

热门阅读

  1. 人大金仓:元数据查询语句记录

    2023-12-31 00:18:02       25 阅读
  2. SpringBoot全局异常捕获

    2023-12-31 00:18:02       34 阅读
  3. 数据被锁?被.mkp 勒索病毒攻击后的拯救行动

    2023-12-31 00:18:02       32 阅读
  4. php5.6安装openssl扩展

    2023-12-31 00:18:02       42 阅读
  5. SSRF靶场安装测试记录

    2023-12-31 00:18:02       34 阅读
  6. 结构体\判断日期是否合法(代码分步解析)

    2023-12-31 00:18:02       37 阅读
  7. centos7.9安装图形远程控制桌面工具rdesktop

    2023-12-31 00:18:02       40 阅读
  8. 2. 云原生实战之kubesphere搭建

    2023-12-31 00:18:02       32 阅读
  9. 力扣133. 克隆图

    2023-12-31 00:18:02       32 阅读
  10. C语言中的标准IO

    2023-12-31 00:18:02       32 阅读
  11. Android 循环滚动的列表-类似弹幕效果

    2023-12-31 00:18:02       39 阅读
  12. pycharm 运行setup.py

    2023-12-31 00:18:02       38 阅读
  13. .Net Core 防御XXS攻击

    2023-12-31 00:18:02       43 阅读