五、SpringCloud Alibab-入门

前言

本文会继续上篇文章,对SpringCloud Alibaba的组件做详细介绍,并对其使用方法做实例演示说明,本章主要是对SpringCloud Alibaba的组件Nacos(配置管理) 、Sentienl(限流) 和Sentinel(流控) 做详细介绍学习,欢迎评论区讨论交流。

目录

前言

第一章 配置管理--Nacos中的配置

1、Nacos添加配置

2、客户端接入配置中心

2.1、导入依赖

2.2、编写Controller

2.3、修改yml配置

第二章 Sentienl--限流

1、Sentinel介绍

2、Sentinel使用

2.1、Sentinel Server服务端

2.2、Sentinel 客户端接入

3、Sentinel设置限流策略

4、Gateway使用Sentinel限流

4.1、导入依赖

4.2、配置Sentinel地址

4.3、配置限流规则

4.4、限流降级

5、整合Nacos持久化限流规则

5.1、导入基础依赖

5.2、配置持久化nacos地址

5.3、Nacos持久化Sentinel限流规则

第三章 Sentinel--熔断

1、开启Sentinel

2、给Feign接口降级

3、编写降级类

总结


第一章 配置管理--Nacos中的配置

Nacos作为Spring Cloud Alibaba的一个重要组件,它不仅可以用作服务注册与发现,也可以用来替代Spring Cloud Config作为统一配置文件管理,而且他的使用更为简单和人性化。

1、Nacos添加配置

第一步:打开Nacos监控面板 - 进入配置列表 -点击 “+” 图标添加配置 如下:

第二步:填写Data ID,选择YAML,编辑配置文件内容

这里定义了一个名字为application-user-dev.yaml的配置,使用的是YAML格式。

  • Data ID : 非常重要,可以看做是配置的文件的名字,在程序中拉取配置文件的时候需要指定Data ID。

  • Group : 分组,默认是 DEFAULT_GROUP , 可以针对不同的项目指定不同的配置组。

2、客户端接入配置中心

2.1、导入依赖

添加配置中心依赖nacos-config,完整pom.xml如下。

<dependencies>
 <!--        配置中心客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        
        <!-- 服务注册与发现-->
        <dependency>
            <groupId>com.alibaba.cloud </groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.example</groupId>
            <artifactId>springcloudalibaba-user-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

2.2、编写Controller

@RefreshScope注解是用来做配置自动刷新。那么当我们修改了Nacos中的配置文件,Controller中读取到的配置temp.notify将会自动变化。

@RestController
@RefreshScope  //刷新配置
public class OrderController {

    @Autowired
    public UserFeigoncCients userFeigoncCients;
    @GetMapping("/order/{id}")
    public User order(@PathVariable("id") Long id){
        return userFeigoncCients.user(id);
    }
}
2.3、修改yml配置
spring:
  profiles:
    active: dev #环境
  cloud:
    nacos:
      config:
        prefix: application-order #前缀
        file-extension: yaml #后缀
        server-addr: localhost:8848 #地址
        extension-configs: #公共配置
          - application.yaml
  • spring.cloud.nacos.config.server-addr :配置了Nacos的地址

  • spring.cloud.nacos.config.file-extension:指定了配置文件的格式为YAML,默认是properties,

  • spring.cloud.nacos.config.prefix:配置前缀,如果不配置前缀默认会把 服务名即spring.application.name的值作为前缀

  • spring.cloud.nacos.config.group :分组名,默认是DEFAULT_GROUP对应了Nacos配置中的Group

    </
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值