Eureka

Eureka

高可用架构

基本原则

1、消除单点失败

2、可靠性交迭

3、故障探测

可用性比率计算

通过时间来计算(一年或者一月)

比如一年99.99%:

可用时间:365 * 24 * 3600 * 99.99%

不可用时间:365 * 24 * 3600 * 0.01%=3153.6秒<1小时

单台机器可用率99%,不可用就为1%。要想服务提升到万分之一,就加一台机器,不可用就变为1%*1%

Spring cloud Eureka

 ## Server @EnableEurekaServer

config

     ### Eureka Server 应用名称
  spring.application.name =
    ### Eureka Server 服务端口
  server.port =
  ### 取消服务器自我注册
  eureka.client.register-with-eureka=false
  ### 不需要检索服务
  eureka.client.fetch-registry=false
  ### Eureka Server 服务 URL,用于客户端注册
  eureka.client.serverUrl.defaultZone=http://localhost:${server.port}/eureka

Client @EnableEurekaClient

 

 

配置高可用Eureka

1.服务端:只需修改server端口,启动多个Eureka服务端即可

2.客户端:配置eureka.client.serverUrl.defaultZone为多个地址,一逗号分割即可。(注:注册时,会找到第一个可用的server,当server挂掉后,再找下一个可用的server)

彩蛋:配置指定范围随机端口号 ${random.int[7071,7079]}

 

获取注册信息时间间隔

EurekaClient--->Applications--->Application--->InstanceInfo

application.properties

 ###调整注册信息的获取周期,默认值30秒
 eureka.client.registryFetchIntervalSeconds = 5
 

实例信息复制时间间隔

具体是客户端信息上报到Eureka服务器时间。

当Eureka客户端应该上报的约频繁,那么Eureka服务器的应用状态管理性能一致性就越高

 ###客户端信息上报到Eureka服务器周期
 instanceInfoReplicationIntervalSeconds = 5

 

修改应用实例ID格式

 eureka.instance.instanceId=${spring.application.name}:${server.port}

实例端点映射

客户端应用实例状态URL修改,默认是/info,(EurekaInstanceConfigBean)

 ###客户端应用实例状态URL修改
 eureka.instance.statusPageUrlPath=/health

Eureka服务器双向可用(复制数据)

既做服务器,也做客户端,

1.打开下面配置

     ### 取消服务器自我注册
  eureka.client.register-with-eureka=ture
  ### 不需要检索服务
  eureka.client.fetch-registry=ture

2.设置注册服务器

     eureka.client.serverUrl.defaultZone=http://localhost:${server.port}/eureka

 

问答

  • 为什么要用Eureka?

    目前业界比较稳定云计算的开发员中间件,虽然有一些不足,基本上可用

  • spring cloud日志收集

    一版用HBase或TSDB、elk

posted on 2019-06-05 15:31  kinglead  阅读(166)  评论(0编辑  收藏  举报

导航