SpringCloud-nacos,sentinel,Seata技术整理

  • nacos:一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心

Nacos = Eureka+Config+Bus(替代Eureka做服务注册中心,替代Config做服务配置中心)

通过配置@RefreshScope可以实现配置自动更新

package com.atguigu.springcloud.alibaba.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RefreshScope
public class ConfigClientController
{
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/config/info")
    public String getConfigInfo() {
        return configInfo;
    }
}
 
 

 

程序启动优先读取bootstrap文件,再读取application文件

Nacos集群和持久化配置:Linux版Nacos+MySQL生产环境配置,通过配置mysql连接,可以把配置信息持久化到mysql中

  • Sentinel 解决服务雪崩,服务降级,服务熔断,服务限流

  1. 服务雪崩 :服务雪崩效应是一种因“服务提供者的不可用”(原因)导致“服务调用者不可用”(结果),并将不可用逐渐放大的现象
  2. 服务降级:服务器忙,请稍候再试,不让客户端等待并立刻返回一个友好提示,fallback。触发服务降级的情况:程序运行异常,超时,服务熔断触发服务降级,线程池/信号量打满也会导致服务降级

降级策略实战:RT,异常比例,异常数

3.服务熔断:类比保险丝达到最大服务访问后,直接拒绝访问,拉闸限电,然后调用服务降级的方法并返回友好提示。             服务的降级->进而熔断->恢复调用链路

sentinel整合ribbon+openFeign+fallback

4.服务限流:秒杀高并发等操作,严禁一窝蜂的过来拥挤,大家排队,一秒钟N个,有序进行

@SentinelResource

按资源名称限流

按照Url地址限流

Seata处理分布式事务

@GlobalTransactional

TM开启分布式事务(TM向TC注册全局事务记录)

换业务场景,编排数据库,服务等事务内资源(RM向TC汇报资源准备状态)

TM结束分布式事务,事务一阶段结束(TM通知TC提交/回滚分布式事务)

TC汇总事务信息,决定分布式事务是提交还是回滚

TC通知所有RM提交/回滚资源,事务二阶段结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值