Spring Cloud Alibaba Component Save

Sample of Spring Cloud Alibaba component

Project README

Spring Cloud Alibaba 组件使用

Nacos

Nacos 是一个配置和注册中心,类似 Spring Cloud Config 和 Eureka、ZooKeeper、Consul

Sentinel

Sentinel 是一个流量控制框架,支持流量控制,熔断降级,系统负载保护,类似 Hystrix、resilience4j

OSS

spring-cloud-starter-alicloud-oss 是用于阿里云 OSS 的 SpringBoot Starter,通过封装 SDK 实现对 OSS 的操作

Dubbo

Dubbo 是一个远程调用框架,用于实现方法的远程调用

推荐使用 ZooKeeper 作为注册中心,当前使用 Nacos 会有各种问题

Seata

Seata 是一个分布式事务框架,可以通过 Seata 框架的注解实现非侵入性的分布式事务

MyBatis 和 JPA 通过 Seata 实现分布式事务都需要注入 io.seata.rm.datasource.DataSourceProxy, 不同的是,MyBatis 还需要额外注入 org.apache.ibatis.session.SqlSessionFactory

MyBatis
@Configuration
public class DataSourceProxyConfig {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return new DruidDataSource();
    }

    @Bean
    public DataSourceProxy dataSourceProxy(DataSource dataSource) {
        return new DataSourceProxy(dataSource);
    }

    @Bean
    public SqlSessionFactory sqlSessionFactoryBean(DataSourceProxy dataSourceProxy) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSourceProxy);
        return sqlSessionFactoryBean.getObject();
    }
}
JPA
@Configuration
public class DataSourceProxyConfig {

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DruidDataSource druidDataSource() {
        return new DruidDataSource();
    }

    @Primary
    @Bean
    public DataSourceProxy dataSource(DruidDataSource druidDataSource) {
        return new DataSourceProxy(druidDataSource);
    }

}

版本说明

相关的 Spring Boot, Spring Cloud 以及 Spring Cloud Alibaba 之间的对应关系可以参考 版本说明

组件 版本 说明
Spring Boot 2.1.5.RELEASE
Spring Cloud Greenwich.SR1
Spring Cloud Alibaba 2.1.0.RELEASE
Seata 0.7.1
Dubbo 2.7.3

Spring Cloud Alibaba 毕业后,Group-id 和部分 ArtifactId 有所变化,需要注意

Open Source Agenda is not affiliated with "Spring Cloud Alibaba Component" Project. README Source: helloworlde/spring-cloud-alibaba-component
Stars
50
Open Issues
0
Last Commit
4 years ago

Open Source Agenda Badge

Open Source Agenda Rating