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. 对Python这门课程的理解。

    这门课程是现在热门,对之后的就业和利用的帮助还是很大的. 希望能学完整本书并且能学以致用,而不是单单只获得理论知识. 学完之后能用于数据库.大数据处理.图形编程等等

  2. 第二次作业 单例模式的SessionFactory

    一.基础Hibernate环境搭建(参见http://www.cnblogs.com/sangewuxie/p/9004968.html) 二.实体类User及User.hbm.xml配置 1.Use ...

  3. leetcode_1. Two Sum

    leetcode_1. Two Sum 前言: 这段时间开始敲leetcode.我认为这并不仅仅只是为了应付笔试,面试.而是确实有着一定的意义. 尤其,你提交代码后,网站会多方面验证你的答案. 另外, ...

  4. PHP内核之旅-3.变量

    PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 一.弱类型语言 php是弱类型语言.一个变量可以表示任意数据类型. php强大的一 ...

  5. UUID那些事

    UUID那些事 UUID 是一个全局唯一的通用识别码.它使用某种规则,而不是某种中心化的自增方式,来保证这个识别码的全局唯一性.UUID 有非常多的使用场景,比如在分布式系统中,需要生成全局唯一 ID ...

  6. Spring源码阅读笔记

    前言 作为一个Java开发者,工作了几年后,越发觉力有点不从心了,技术的世界实在是太过于辽阔了,接触的东西越多,越感到前所未有的恐慌. 每天捣鼓这个捣鼓那个,结果回过头来,才发现这个也不通,那个也不精 ...

  7. Proxy是在什么时候调用InvocationHandler的invoke方法的

    最近看到spring的动态代理,扒到深处看到时 Proxy.newProxyInstance(classLoader, proxiedInterfaces, this);看到这一句,顿时比较懵逼,还是 ...

  8. Struts标签库详解【3】

    struts2标签库详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri= ...

  9. Hessian基础入门案例

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协 ...

  10. SSM-SpringMVC-23:SpringMVC中初探异常解析器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客要讲的是异常解析器,SimpleMappingExceptionResolver简单映射异常解析器 可 ...