eureka运行中的四个参数
注册:注册失败后,会每隔30s重新注册一次,直到注册成功为止。
拉取l注册表:每隔30s拉取一次注册表,刷新注册表。
心跳:当服务器连接到eureka以后,会每隔30s向eureka发送一次心跳数据,向eureka证明自己还活着,若eureka连续三次没有接收道该服务的心跳数据,就认为该服务宕机了,就会从注册表中删除服务信息。
自我保护:网络故障时,15分钟内,心跳数丢失的比例达到85%以后,就会启动自我i保护模式,在此期间,不允许删除任何服务信息。
2.ribbon 重试和负载均衡重试的五个参数:
MaxAutoRetries 对当前服务器最大的重试次数
MaxAutoRetriesNextServer 对下个服务器最大的重试次数
ConnectionTimeout 连接超时
ReadTimeout 响应超时
OkToRetryonAllOperations 对连接超时,读取超时都进行重试
3.hystrix 降级 熔断降级:后台服务故障时,在当前服务器向客户端返回降级代码
实现降级代码:@HystrixCommand(fallbackMethod=降级方法名)
熔断:当服务压力过大,错误比例过多时,熔断所有请求,所有请求直接降级
熔断的触发条件:10秒内20次请求,50%请求失败,就会触发熔断,默认熔断5s后,会进入半开状态,会尝试进行一次访问,成功就关闭断路器,如果失败就继续保持打开状态。
4.feign 声明式客户端@FeignClient(name="item-service")
整合了ribbon:默认开启负载均衡和重试
整合了hystrix:默认不启用hystrix
启用hystrix:feign.hystrix.enabled:true
实现降级代码:@FeignClient(fallback=降级类)
实现降级类,降级类需要实现声明式客户端,添加@Component
5.hystrix dashboard 断路器仪表盘hystrix 对请求的降级和熔断,可以产生监控信息,hystrix dashboard可以实时的进行监控。
6.turbine 集群聚合监控hystrix dashboard 一次只能监控一个服务实例,使用 turbine 可以汇集监控信息,将聚合后的 信息提供给 hystrix dashboard 来集中展示和监控。
7.zuul api网关提供了统一的调用入口:配置转发规则
提供了统一的权限校验:继承ZuulFilter
整合了ribbon:默认开启负载均衡,不开启重试
开启重试:zuul.retryable=true 添加spring-retry依赖
整合了hystrix:默认开启降级和熔断
实现降级代码:实现FallbackProvider接口,添加@Component
feign用在微服务和微服务的调用,不推荐使用hystrix降级熔断
zuul部署在所有服务的最前面,不推荐ribbon重试的功能
8.config 配置中心对配置文件进行统一维护和管理, config 配置中心从 git 下载所有配置文件,而其他服务启动时从 config 配置中心获取配置信息。
9.bus 消息总线动态刷新配置,post 请求消息总线刷新端点,服务器会向消息中间件rabbitmq发布刷新消息,接收到消息的微服务会向配置服务器请求刷新配置信息。
10.sleuth+zipkin 链路跟踪随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败
sleuth可以跟踪调用链路,分析链路中每个节点的执行情况
zipkin可以收集链路跟踪数据,提供可视化的链路分析



