SpringCloudAlibaba学习笔记

nacos:服务注册中心

原理就是:发送各种http请求,异步注册

双层map的注册表,没有加锁,CopyOnWrite思想 —— 读写分离;复制一个副本,在内存中,进行注册表修改,为了支撑高并发

有客户端的健康感知,通过心跳机制

实际就是一个Springboot 的 web项目,提供各种http接口(依赖ribbon)默认端口8848

ribbon:服务发现

核心拦截器:LoadBalancerInterceptor。底层拦截器,定时轮询拉取,负载均衡

Feign:生成代理

然后通过代理拼接url -> 调用远端接口转化为类似于dubbo的调用本地接口(依赖ribbon)

Sentinel:服务降级

可以在@FeignClinet(value = "credit-servce" ,fallback = CreditServiceFallback.class)配置fallback

dashboard管理页面,默认8080端口,可以实现流控

服务限流(可用redis限流)

熔断(发现出问题,直接掐断,不在还访问报错的接口了,不访问原接口,直接降级)

滑动时间窗算法:metric机制,线上系统运行监控。

Seata:分布式事务中间件

@GlobalTransactional

基于mysql的undo回滚日志。失败反向补偿

蚂蚁金服用的多,阿里用的不多。因为锁太多,强一致

如果不用seata,可以使用MQ实现

restful风格:CRUD一个地址,根据GetMapping、PostMapping、DeleteMapping

网关的application.yml

经验分享 程序员 微信小程序 职场和发展