Raincat/README.md

76 lines
2.9 KiB
Markdown
Raw Normal View History

2017-09-01 16:06:25 +08:00
happylifeplat-transaction
================
2017-09-06 16:12:43 +08:00
碧桂园旺生活平台强一致性分布式事务,是基于二阶段提交+本地事务补偿机制来实现。[原理介绍](http://www.hollischuang.com/archives/681)
2017-09-01 16:06:25 +08:00
2017-09-29 09:49:51 +08:00
基于java语言来开发JDK1.8支持dubbospringcloud进行分布式事务。
2017-09-01 16:06:25 +08:00
2017-12-01 11:21:41 +08:00
##### 因为文件名太长大家在拉取代码的时候执git命令git config --global core.longpaths true
2017-09-01 20:07:12 +08:00
2017-09-01 16:06:25 +08:00
# Features
2017-09-30 10:30:22 +08:00
2017-09-29 09:49:51 +08:00
* **框架特性**
2017-09-30 10:30:22 +08:00
2017-09-29 09:49:51 +08:00
* 支持dubbospringcloud等rpc框架进行分布式事务。
2017-09-30 10:30:22 +08:00
2017-09-29 09:49:51 +08:00
* 事务发起者参与者与协调者底层基于netty长连接通信,稳定高效。
2017-09-30 10:30:22 +08:00
2017-09-29 09:49:51 +08:00
* 协调者采用eureka做注册中心支持集群模式。
2017-09-30 10:30:22 +08:00
2017-09-29 09:49:51 +08:00
* 采用Aspect AOP 切面思想与Spring无缝集成。
2017-09-30 10:30:22 +08:00
2017-09-29 09:49:51 +08:00
* 配置简单,集成简单,源码简洁,稳定性高,已在生产环境使用。
2017-09-30 10:30:22 +08:00
2017-09-29 09:49:51 +08:00
* 内置经典的分布式事务场景demo工程并有swagger-ui可视化界面可以快速体验。
2017-09-01 16:06:25 +08:00
* ***事务角色***
* 事务发起者(可理解为消费者 如dubbo的消费者,springcloud的调用方,发起分布式事务
* 事务参与者(可理解为提供者 如dubbo的提供者,springcloud的rest服务提供者),参与事务发起者的事务
* 事务协调者tx-manager协调分布式事务的提交回滚等。
* ***技术方案***
* 协调者tx-manager采用eureka作为注册中心集群配置达到服务的高可用采用redis集群来分布式存储事务数据, springboot 提供rest服务采用netty与参与者发起者进行长连接通信。
* 发起者与协调者采用Aspect AOP 切面思想SPI多线程异步回调线程池netty通信等技术。
* ***SPI扩展***
* 本地事务恢复支持redismogondbzookeeperfilemysql等关系型数据库
* 本地事务序列化保存支持javahessiankryoprotostuff
* netty通信序列化方式支持 hessiankryoprotostuff
# Design
2017-09-30 10:30:22 +08:00
### [架构设计](https://github.com/yu199195/happylifeplat-transaction/wiki/design)
2017-09-01 16:06:25 +08:00
2017-09-30 10:30:22 +08:00
# Configuration
2017-09-01 16:06:25 +08:00
2017-09-30 10:30:22 +08:00
### [配置详解](https://github.com/yu199195/happylifeplat-transaction/wiki/configuration%EF%BC%88%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3%EF%BC%89)
# User Guide
### [dubbo 用户](https://github.com/yu199195/happylifeplat-transaction/wiki/dubbo%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97)
### [springcloud 用户](https://github.com/yu199195/happylifeplat-transaction/wiki/springcloud%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97)
2017-09-01 16:06:25 +08:00
2017-09-30 10:30:22 +08:00
# Quick Start
2017-09-01 16:06:25 +08:00
2017-09-29 09:49:51 +08:00
### [快速体验(dubbo)](https://github.com/yu199195/happylifeplat-transaction/wiki/quick-start-%EF%BC%88dubbo%EF%BC%89)
2017-09-01 16:06:25 +08:00
2017-09-29 09:49:51 +08:00
### [快速体验(springcloud)](https://github.com/yu199195/happylifeplat-transaction/wiki/quick-start-%EF%BC%88springcloud%EF%BC%89)
2017-09-01 16:06:25 +08:00
2017-09-30 10:30:22 +08:00
2017-09-01 16:06:25 +08:00
# Support
2017-09-30 10:30:22 +08:00
### 如有任何问题欢迎加入QQ群162614487 进行讨论
2017-09-01 16:06:25 +08:00
# Contribution