eurake区别于dubbo
- Link 几个重点:
- eurake的服务存储采用的是双层map模型【ConcurrentHashMap>】
- eurake不论服务注册还是服务发现,都是使用的http通信,不是dubbo的socket通信。
- eurake使用三级缓存(registy, readwritecache, readonlycache),服务注册直接写registry,服务发现始终不读registry,而是先读只读缓存,读取不到,再读写缓存。
- 从CAP理论模型来讲,eurake因为三级缓存同步固定90s(60s+30s)的延迟,所以eurake是一个AP类型缓存,而dubbo是一个CP类型缓存。[P理论是一定要满足的]
- Link2 自我保护机制几个重点
- 两个阈值:15分钟内,85%的实例都没有发送续约(renew),认为网络分区发生,自我保护机制生效。
- 不会剔除任何服务实例(可能是服务提供者和EurekaServer之间⽹络问题),保证了⼤多数服务依然可⽤
- Eureka Server仍然能够接受新服务的注册和查询请求,但是不会被同步到其它节点上,保证当前节点依然可⽤,当⽹络稳定时,当前Eureka Server新的注册信息会被同步到其它节点中。
- 在Eureka Server⼯程中通过eureka.server.enable-self-preservation配置可⽤关停⾃我保护,默认值是打开
Ribbon: 客户端负载均衡
Hystrix
- 原理:熔断器(circuitBreaker)内部状态机有三种状态
- Close 熔断器关闭:调用方正常访问服务方
- Open 熔断器开启:熔断器阻断调用方对服务方的访问
- Half Open熔断器半开:释放调用方小流量访问服务方,检查服务方是否健康
- 仓壁模式:默认情况下,所有添加了 @HystrixCommand注解的方法,都使用同一个线程池(默认10个)。这些方法的请求如果超过了10个,其他请求就需要等待或者拒绝连接,从而触发熔断保护(这个时候可能后端服务完全是可用的)。为了避免问题服务请求过多导致正常服务⽆法访问,Hystrix 不是采⽤增加线程数,⽽是单独的为每⼀个控制⽅法创建⼀个线程池的⽅式,这种模式叫做“舱壁模式",也是线程隔离的⼿段。
Feign: Feign = RestTemplate + Ribbon + Hystrix
- 核心:内部封装http的调用过程,可以像本地方法一样调用远程方法,不用再自己拼接URL了。
- 源码分析
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
创新互联主要从事成都网站建设、
网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务浦江,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
网页标题:Springcloud自我总结-创新互联
网站URL:
http://cqcxhl.com/article/pojgi.html