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.name
、spring.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>