1. Eureka服务配置与进阶

1.1. 主要配置

1.1.1. 服务端(eureka.server.*)

  1. enableSelfPreservation默认true,启用注册中心的自保护机制,Eureka如果统计到15分钟之内损失>15%的微服务心跳,则会触发自保护机制,不再提出服务提供者
  2. waitTimeInMsWhenSyncEmpty默认1000605,在Eureka服务器获取不到集群里对等服务器上的实例时,需要等待的时间,单位为毫秒,单机开发模式建议设置为0

1.1.2. 客户信息配置(eureka.client.*)

  1. serviceUrl指定服务注册中心,类型为HashMap,并设置有一组默认值,默认key为defaultZone;默认的Value为http://localhost:8761/eureka,如果服务注册中心为高可用集群时,多个注册中心地址以逗号分隔。如果服务注册中心加入了安全验证,这里配置的地址格式为http://<username>:<password>@localhost:8761/eureka
  2. fetchRegistry是否从Eureka服务端获取注册信息,默认true
  3. registryFetchIntervalSeconds从Eureka服务端获取注册信息的间隔时间,单位为秒,默认30
  4. registerWithEureka是否要将自身的实例信息注册到Eureka服务端,默认true

1.1.3. 实例级别配置(eureka.instance.*)

  1. leaseRenewalIntervalInSeconds,Eureka客户端向服务端发送心跳的时间间隔,单位为秒,默认30
  2. leaseExpirationDurationInSeconds,Eureka服务端在收到最后一次心跳之后等待的过期时间上线,单位为秒。超过该时间没有收到心跳,则服务端会将该服务实例从服务清单中剔除,从而禁止服务调用请求被发送到该实例上
  3. appname服务名,默认取spring.application.name的配置值,如果没有则为unknown
  4. hostname主机名,不配置的时候将根据操作系统的主机名来获取
  5. instance-id注册到eureka的实例id,推荐${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}

1.1.4. Ribbon主要配置项({svc}.ribbon.*)

  1. ConnectionTimeout连接超时时间,默认值1000ms
  2. ReadTimeout读取超时时间,默认1000ms
  3. ServerListRefreshInterval刷新服务列表源的间隔时间,默认30s
  4. NFLoadBalancerClassName定制ILoadBalancer实现,默认com.netflix.loadbalancer.ZoneAwareLoadBalancer
  5. NFLoadBalancerRuleClassName定制IRule实现,默认com.netflix.loadbalancer.ZoneAvoidanceRule
  6. NFLoadBalancerPingClassName定制IPing,默认com.netflix.loadbalancer.DummyPing
  7. NIWSServerListClassName定制ServerList,默认com.netflix.loadbalancer.ConfigurationBasedServerList
  8. ServerListUpdateClassName定制serverListUpdater,默认com.netflix.loadbalancer.PollingServerListUpdater
  9. NIWSServerListFilterClassName定制ServerListFilter,默认com.netflix.loadbalancer.ZonePreferenceServerListFilter

1.2. Eureka自保护模式

  1. 避免网络分区或抖动导致的,服务端与Eureka通信不成功,但实际服务端是存活的

1.3. 心跳检查和应用检测

  1. 实例会定期默认30s,向Eureka Server发送心跳式健康检查,把自己的状态服务实例信息上报上去
  2. 定制注册EurekaClient#registerHeathCheck
  3. Spring Cloud配置eureka.client.healthcheck.enable=true,EurekaHealthCheckHandler中回去执行检查,DiskSpaceHealthIndicator,RefreshScopeHealthIndicator,HystrixHealthIndicator
  4. 获取应用信息GET /eureka/apps/ORDER-SERVICE,获取XML信息结果
  5. 实例信息更新延迟的地方有哪些
    1. 注册延迟(30s)
    2. Eureka服务响应延迟(30s)
    3. Eureka客户端更新延迟(30s)
    4. Ribbon服务列表更新延迟(30s)
    5. 所以最大可能又2分钟延迟

1.4. 蓝绿发布

  1. 发布工具拉出

1.5. 服务注册中心对比

Eureka服务配置与进阶的更多相关文章

  1. SpringCloud 进阶之Eureka(服务注册和发现)

    1. Eureka 服务注册与发现 Eureka 是一个基于REST的服务,用于服务的的注册与发现; Eureka采用C-S的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册 ...

  2. Eureka服务下线后快速感知配置

    现在由于eureka服务越来越多,发现服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化,依旧还在持续调用下线的服务,导致长时间后才能返回错误,因此需要调整eureka服务和客户端的配置,以 ...

  3. SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端、Eureka 服务信息、Eureka 发现管理、Eureka 安全配置、Eureka-HA(高可用) 机制、Eureka 服务打包部署)

    1.概念:Eureka 服务发现框架 2.具体内容 对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在 ZooKeeper 组件,这个组件里面已经明确的描述了一个服务的注册以及发现操 ...

  4. spring-cloud配置高可用eureka服务端

    spring-cloud配置eureka服务端 eureka用来发现其他程序 依赖 <?xml version="1.0" encoding="UTF-8" ...

  5. Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服务

    上一篇文章,讲了SpringCloudConfig 集成Git仓库,这一篇我们讲一下SpringCloudConfig 配和 Eureka 注册中心一起使用 在分布式系统中,由于服务数量巨多,为了方便 ...

  6. 小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理

    笔记 7.Eureka服务注册中心配置控制台问题处理     简介:讲解服务注册中心管理后台,(后续还会细讲) 问题:eureka管理后台出现一串红色字体:是警告,说明有服务上线率低 EMERGENC ...

  7. eureka 服务实例实现快速下线快速感知快速刷新配置解析

    Spirng Eureka 默认配置解读 默认的Spring Eureka服务器,服务提供者和服务调用者配置不够灵敏,总是服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化.或者是服务已经注 ...

  8. SpringCloud学习笔记(四):Eureka服务注册与发现、构建步骤、集群配置、Eureka与Zookeeper的比较

    简介 Netflix在设计Eureka时遵守的就是AP原则 拓展: 在分布式数据库中的CAP原理 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性). Availab ...

  9. Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****

    http://www.idouba.net/spring-cloud-source-eureka-client-api/?utm_source=tuicool&utm_medium=refer ...

随机推荐

  1. JavaScript常用的事件模型

    一.事件绑定模型 DOM0事件模型 1.内联模型(行内绑定):将函数名直接作为HTML标签中事件属性的属性值 <button id="btn" onclick="f ...

  2. Spring Boot 快速入门笔记

    Spirng boot笔记 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...

  3. Java IO基础总结

    Java中使用IO(输入输出)来读取和写入,读写设备上的数据.硬盘文件.内存.键盘......,根据数据的走向可分为输入流和输出流,这个走向是以内存为基准的,即往内存中读数据是输入流,从内存中往外写是 ...

  4. 微信小程序开发资源汇总 💯

    目录 官方文档 工具 插件 讨论 教程 视频教程 文章 代码 轮子 置顶 WePY:组件化的小程序开发框架 

  5. mybatis自定义代码生成器(Generator)——自动生成model&dao代码

    花了两天的时间研究了下mybatis的generator大体了解了其生成原理以及实现过程.感觉generator做的非常不错,给开发者也留足了空间.看完之后在generator的基础上实现了自定义的生 ...

  6. PAT1028:List Sorting

    1028. List Sorting (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Excel ca ...

  7. apache2.4 虚拟主机配置

    网上教程很多,仅记录我的配置,可供参考 一.修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. #LoadModule vhost_ ...

  8. Eclipse中使用github

    摘要: 实现:git->eclipse的,eclipse->git双向 1.安装egit插件 在Eclipse中选择help->Eclipse Marketplace,在search ...

  9. spring-cloud-sleuth+zipkin追踪服务实现(三)

    1.前言 在上一篇spring-cloud-sleuth+zipkin追踪服务实现(二)中我们讲述了利用mq的方式发送数据,存储在mysql,实际生产过程中调用数据量非常的大,mysql存储并不是很好 ...

  10. thinter中lable标签控件(二)

    lable控件 对于tkinter来说,学起来很简单,只要设置好相应的参数即可出结果,所以不用刻意去记住这些参数.学习一遍后理解每个参数的作用是什么即可. 当下次用到的时候来笔记上看一下就行. 内容很 ...