pin062788 / spring-cloud-alibaba-component

Simple of Spring Cloud Alibaba component

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 的操作

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 0.9.1.BUILD-SNAPSHOT
Seata 0.6.1 org.springframework.cloud:spring-cloud-starter-alibaba-seata:0.9.1.BUILD-SNAPSHOT 中的 0.5.2 中有一些问题,所以单独使用Seata 0.6.1

About

Simple of Spring Cloud Alibaba component


Languages

Language:Java 99.2%Language:HTML 0.8%