跳到主要内容

SpringCloudAlibaba

# Spring Cloud Alibaba 学习内容

## Nacos

服务注册与发现

## Sentinel

哨兵:流量控制、流量路由、熔断降级、系统负载保护

## RabbitMQ

消息订阅与发布

## Seata

分布式事务

## Canal

基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费

Nacos

nacos 注册中心,配置中心 eureka 注册中心

ribbon 负载均衡器 Netflix loadbalancer 负载均衡器 SpringCloud官方

feign 声明式服务调用 Netflix ,替代 RestTemplate OpenFeign SpringCloud 官方提供

配置中心

  • SpringCloud config 结合git 、SpringCloud Bus , 无可视化界面
  • apollo
  • Nacos

Sentinel

请求往往是随机不可控的,而系统的处理能力是有限的。

1、流量控制 2、熔断降级(使请求快速失败,避免影响到其它的资源,最终产生雪崩的效果)

  • 通过并发线程数进行限制
  • 通过响应时间对资源进行降级 3、系统负载保护(防止雪崩)

troubleshooting

1、Nacos 配置中心未生效?

需要在 bootstrap.properties 中设置 spring.application.namespring.cloud.nacos.config.server-addr 属性。

官方文档说明:initialize_nacos_server

spring.application.name=nacos-config  
spring.cloud.nacos.config.server-addr=localhost:8848

2、Nacos 更新配置之后,未实时读取配置?

根据版本说明 设置 Spring Cloud Alibaba、Spring Cloud、Spring Boot 三者的版本。

<!-- 依赖声明 -->  
<dependencyManagement>
<dependencies>
<!-- https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 版本对应关系说明-->
<!-- SpringCloud Alibaba 微服务 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringCloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringBoot 依赖配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>