-1spring cloud简洁
spring cloud是一系列框架的集合,利用springboot的开发遍历巧妙的简化了分布式系统基础设施开发,如,发现注册,配置中心,消息总线,负载均衡,断路器,数据监控等
eureka-注册中心
ribbon-负载均衡-请求重试
hystrix-短路器,服务降级,熔断
feign -ribbon,hystrix集成,提供声明使客户端
hystrix dashboard 和 turbine-hystrix数据监控
zuul-api网关,提供微服务统一入口,并提供统一的权限验证
config-配置中心
bus - 消息总线
sleuth+zipkin-链路跟踪
cloud和dobbo区别?
cloud为框架集,集成多种功能为一体的,基于HTTP协议,Rest调用,开源成本低
dobbo知识远程调用,基于长连接,java序列化调用,解决其他问题需要自行解决
eureka
eureka和zookeeper区别?
eureka采用的是可用性
zookeeper采用的一致性
ribbon
ribbon提供了负载均衡和重试功能,底层使用到的RestTemplate进行api调用
RestTemplate是SpringBoot提供一个Rest远程调用工具
getForObject()-执行get请求
postForObject()-执行post请求
RestTemplate是一个用来调用其他微服务和工具类,提供了一组用与调用远程的模板方法
负载均衡:
1.先把eureka获取服务的主机地址列表
2.对主机地址列表,发送轮询请求
3.RestTemlate添加@LoadBalanced注解
请求地址改成eureka注册的服务名
重试:容错机制,如果有一台故障,我可以向另一个服务器重试
hystrix
降级:如果请求后台出错,通过执行另一端代码返回
实现降级代码需要添加特定注解和降级方法以及代码
熔断:服务器故障断开其连接,保护其他不受影响,
熔断条件:10秒20次请求,50%失败,执行降级代码
半开状态:断路器打开5秒后,进入半开阶段
发送一次请求:成功,关闭断路器
失败,断路器保持
hystrix dashboard
基于actuator(啊特为特)springboot提供的监控工具,保留hystrix监控端点
Feign声明式客户端
并整合hystrix和ribbon但是不推荐启用hystrix
zuul
提供统一入口,转发调用远程服务<br /> 过滤器,统一权限校验,可以只需要zuul进行校验,远程服务不需要校验登录等代码<br /> 集成ribbon,但不推荐启动<br /> 继承hystrix,可直接写降级代码<br />feign与zuul区别,部署不一样,一个在前API网关,服务于服务之间用feign调用
config
配置文件集中管理,默认在git
