Spring Cloud Alibaba 基础用法
时间: 2023-08-23 19:10:49 浏览: 179
Spring Cloud Alibaba 是由 Spring Cloud 和阿里巴巴共同开发的一套微服务框架,它基于 Spring Boot 构建,为开发者提供了一系列的解决方案,包括服务注册与发现、配置中心、负载均衡、熔断器、分布式事务等。
下面简单介绍一下 Spring Cloud Alibaba 的基础用法:
1. 服务注册与发现
使用 Nacos 作为注册中心,只需要在 pom.xml 中添加以下依赖即可:
```
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
```
然后在配置文件中添加以下配置:
```
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
```
2. 配置中心
使用 Nacos 作为配置中心,只需要在 pom.xml 中添加以下依赖即可:
```
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
```
然后在配置文件中添加以下配置:
```
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-service
spring.cloud.config.profile=dev
spring.cloud.config.label=master
spring.cloud.config.uri=http://localhost:8888
```
其中,spring.cloud.config.uri 是配置中心的地址。
3. 负载均衡
使用 Ribbon 实现负载均衡,只需要在 pom.xml 中添加以下依赖即可:
```
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
```
然后在 RestTemplate 中使用 @LoadBalanced 注解,示例如下:
```
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
```
4. 熔断器
使用 Sentinel 实现熔断器,只需要在 pom.xml 中添加以下依赖即可:
```
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
```
然后在需要进行熔断的方法上添加 @SentinelResource 注解,示例如下:
```
@SentinelResource(value = "test", fallback = "fallback")
public String test() {
// do something
}
public String fallback() {
// fallback
}
```
5. 分布式事务
使用 Seata 实现分布式事务,只需要在 pom.xml 中添加以下依赖即可:
```
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>
```
然后在配置文件中添加以下配置:
```
spring.cloud.alibaba.seata.tx-service-group=my_test_tx_group
```
接下来,在需要进行分布式事务的方法上添加 @GlobalTransactional 注解,示例如下:
```
@GlobalTransactional
public void test() {
// do something
}
```
以上就是 Spring Cloud Alibaba 的基础用法。需要注意的是,Spring Cloud Alibaba 还提供了很多其他的功能,如消息总线、分布式锁等,开发者可以根据自己的需求进行选择和使用。
阅读全文