docker pull shardingsphere/sharding-proxy
获取镜像。详细信息请参考Docker镜像。bin/start.sh
,Windows操作系统请运行bin/start.bat
启动Sharding-Proxy。如需配置启动端口、配置文件位置,可参考快速入门
进行启动。mysql -u root -h 127.0.0.1 -P 3307
若想使用Sharding-Proxy的数据库治理功能,则需要使用注册中心实现实例熔断和从库禁用功能。详情请参考支持的注册中心。
sharding-orchestration-reg-zookeeper-curator-${sharding-sphere.version}.jar
文件删除。sharding-orchestration-reg-zookeeper-curator-${sharding-sphere.version}.jar
文件删除。Sharding-Proxy原生支持XA事务,不需要额外的配置。
默认事务类型可在server.yaml
中进行配置,例如:
proxy.transaction.type: XA
mysql> sctl: set transantcion_type=XA
mysql> sctl: show transaction_type
如果通过JDBC-Driver的方式连接Sharding-Proxy,可以在获取连接后,发送sctl:set transaction_type=XA
的SQL切换事务类型。
引入Maven依赖:
<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-transaction-spring</artifactId>
<version>${shardingsphere.version}</version>
</dependency>
然后在需要事务的方法或类中添加相关注解即可,例如:
@ShardingTransactionType(TransactionType.LOCAL)
@Transactional
或
@ShardingTransactionType(TransactionType.XA)
@Transactional
注意:@ShardingTransactionType
需要同Spring的@Transactional
配套使用,事务才会生效。
ShardingSphere默认的XA事务管理器为Atomikos。
可以通过在Sharding-Proxy的conf目录中添加jta.properties
来定制化Atomikos配置项。
具体的配置规则请参考Atomikos的官方文档。
bin/start.sh 3308