Eureka学习

什么是服务治理

管理服务之间的依赖关系,方便实现服务调用、负载均衡、容错等,
实现服务注册与发现

Eureka两组件

 Eureka包含两个组件:Eureka Server和Eureka Client 
 Eureka Server提供服务注册服务各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。  
 EurekaClient通过注册中心进行访问是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)     

模块名

spring:
  application:
    name: cloud-order-service

服务端配置

eureka:
  instance:
    hostname: localhost #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
    #集群指向其它eureka
      #defaultZone: http://eureka7002.com:7002/eureka/
    #单机就是7001自己
      defaultZone: http://eureka7001.com:7001/eureka/
  #server:
    #关闭自我保护机制,保证不可用服务被及时踢除
    #enable-self-preservation: false
    #eviction-interval-timer-in-ms: 2000

客户端配置

eureka:
  client:
    #表示是否将自己注册进EurekaServer默认为true。
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetchRegistry: true
    service-url:
      #单机版
      defaultZone: http://localhost:7001/eureka
      # 集群版
      #defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
  instance:
    instance-id: order80
    #访问路径可以显示IP地址
    prefer-ip-address: true
    #Eureka客户端向服务端发送心跳的时间间隔,单位为秒(默认是30秒)
    #lease-renewal-interval-in-seconds: 1
    #Eureka服务端在收到最后一次心跳后等待时间上限,单位为秒(默认是90秒),超时将剔除服务
    #lease-expiration-duration-in-seconds: 2

Eureka集群

互相注册,共享信息

服务发现

import org.springframework.cloud.client.discovery.DiscoveryClient;

    //服务发现,获取注册客户端信息
    @Autowired
    private DiscoveryClient discoveryClient;

自我保护机制

为了防止EurekaClient可以正常运行,但是 与 EurekaServer网络不通情况下,
EurekaServer不会立刻将EurekaClient服务剔除 什么是自我保护模式?默认情况
下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,
EurekaServer将会注销该实例(默认90秒)。但是当网络分区故障发生(延时、卡
顿、拥挤)时,微服务与EurekaServer之间无法正常通信,以上行为可能变得非常危
险了——因为微服务本身其实是健康的,此时本不应该注销这个微服务。Eureka通过
“自我保护模式”来解决这个问题——当EurekaServer节点在短时间内丢失过多客户端
时(可能发生了网络分区故障),那么这个节点就会进入自我保护模式。 在自我保
护模式中,Eureka Server会保护服务注册表中的信息,不再注销任何服务实例。它
的设计哲学就是宁可保留错误的服务注册信息,也不盲目注销任何可能健康的服务实
例。一句话讲解:好死不如赖活着 综上,自我保护模式是一种应对网络异常的安全
保护措施。它的架构哲学是宁可同时保留所有微服务(健康的微服务和不健康的微服
务都会保留)也不盲目注销任何健康的微服务。使用自我保护模式,可以让Eureka集
群更加的健壮、稳定。

 #关闭自我保护机制,保证不可用服务被及时踢除   
 eureka:
	 server:    
		 enable-self-preservation: false    
		 eviction-interval-timer-in-ms: 2000    

actuator信息完善

	eureka:
	  instance:
	  	# 别名
	    instance-id: payment8002
	    #访问路径可以显示IP地址
	    prefer-ip-address: true
	    #Eureka客户端向服务端发送心跳的时间间隔,单位为秒(默认是30秒)
	    #lease-renewal-interval-in-seconds: 1
	    #Eureka服务端在收到最后一次心跳后等待时间上限,单位为秒(默认是90秒),超时将剔除服务
	    #lease-expiration-duration-in-seconds: 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值