SpringCloud
注册中心Eureka
各个微服务都需要到注册中心中注册 作用是控制各个微服务
注册中心的工作原理:
- 服务启动时候注册到注册中心
- map集合存放注册列表
- 微服务定时给注册中心发送心跳包
- 规定时间没有发送心跳包 注册中心就会移除该服务
服务A调用服务B 先检查本地是否有服务列表 没有 就向注册中心拉取
注册中心服务列表有变化 动态更新给服务调用者 增量更新
负载均衡Ribbon
Dubbo通过服务端对集群的监控 依据负载均衡算法 给出负载均衡建议
Robbin帮助我们实现负载均衡(客户端负载均衡)
- 随机策略
- 轮询策略
- 权重:默认采用轮询策略 根据响应时间 分配权重
- 根据调用放 并发数最先的取分配权重
服务间调用Feign
Feign可以帮助我们实现面向接口编程 直接调用其他服务 简化开发
服务降级
当a调用b时 b可能会宕机,发生异常,超时 那么a服务要正常给用户相应 返回拖底数据
服务间调用
使用http进行调用
服务处理Hystrix
断路器
当一个服务的请求失败率达到一定阈值
断路器设定为open开启状态
一定时间后
断路器变为half open状态 会放出一个请求调用此服务
若请求成功断路器关闭close
失败则 变为open状态
线程隔离
目的:不让某个服务器的所有线程都去请求固定的服务 不允许一个服务的所有线程取访问另一个服务
缓存
再一次请求内进行缓存 基本没用过
配置服务管理config
微服务很多 每个微服务都需要配置文件 很繁琐 config组件 对配置文件进行统一管理(需要创建cinfig微服务)
路由管理GataWay
为了安全 不让外部直接访问微服务 保护后台 提供一个统一的请求服务方式
·