diff --git a/README.md b/README.md index 8ea41a8..133c56f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,43 @@ -# component-creater +# Seata-PHP: Simple Extensible Autonomous Transaction Architecture(PHP version) -``` -composer create-project hyperf/component-creater -``` +[![license](https://img.shields.io/github/license/seata/seata-php.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) + +[简体中文 ZH](./docs/zh_cn/README.md) + +## What is seata-php? + +Seata is a very mature distributed transaction framework, and is the de facto standard platform for distributed transaction technology in the Java field. Seata-php is the implementation version of PHP language in Seata multilingual ecosystem, which realizes the interoperability between Java and PHP, so that PHP developers can also use seata-php to realize distributed transactions. Please visit the [official website of Seata](https://seata.io/en-us) to view the quick start and documentation. + +The principle of Seata-PHP is consistent with that of Seata-Java, which is composed of TM, RM and TC. The functions of TC reuse Java, and the functions of TM and RM will be aligned with Seata-Java later. The overall process is as follows: + +![](https://user-images.githubusercontent.com/68344696/145942191-7a2d469f-94c8-4cd2-8c7e-46ad75683636.png) + +## TODO list + +- [ ] TCC +- [ ] XA +- [x] AT +- [ ] SAGA +- [x] TM +- [ ] RPC communication +- [ ] Transaction anti suspension +- [ ] Null compensation +- [ ] Registration Center +- [ ] Metric monitoring +- [x] Examples + + +## How to run? + +1. First download [**seata java**](https://seata.io/zh-cn/blog/download.html) and Start the TC service. For the specific process, refer to [**seata deployment guide**](https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html) Documentation +2. Run seata-php whith [**seata-skeleton**](https://github.com/PandaLIU-1111/seata-skeleton) + + +## How to join us? + +Seata-php is currently in the construction stage. Welcome colleagues in the industry to join the group and work with us to promote the construction of seata-php! If you want to contribute code to seata-php, you can refer to the [**code contribution Specification**](./docs/en/300.contributing/README.md) document to understand the specifications of the community, or you can join our community DingTalk group: 44788115 and communicate together! + + +## Licence + +Seata-php uses Apache license version 2.0. Please refer to the [license file](https://github.com/seata/seata-php/blob/master/LICENSE) for more information. diff --git a/docs/.DS_Store b/docs/.DS_Store new file mode 100644 index 0000000..8e9ce3f Binary files /dev/null and b/docs/.DS_Store differ diff --git a/docs/en/100.preface/INDEX.md b/docs/en/100.preface/INDEX.md new file mode 100644 index 0000000..2b7ff02 --- /dev/null +++ b/docs/en/100.preface/INDEX.md @@ -0,0 +1,4 @@ +# Preface + +## 目录 + diff --git a/docs/en/100.preface/README.md b/docs/en/100.preface/README.md new file mode 100644 index 0000000..7a1fadb --- /dev/null +++ b/docs/en/100.preface/README.md @@ -0,0 +1 @@ +# Preface diff --git a/docs/en/100.preface/SUMMARY.md b/docs/en/100.preface/SUMMARY.md new file mode 100644 index 0000000..7dda43c --- /dev/null +++ b/docs/en/100.preface/SUMMARY.md @@ -0,0 +1,3 @@ +Preface +================================================ + diff --git a/docs/en/200.agreement/INDEX.md b/docs/en/200.agreement/INDEX.md new file mode 100644 index 0000000..49b6707 --- /dev/null +++ b/docs/en/200.agreement/INDEX.md @@ -0,0 +1,4 @@ +# Agreement + +## 目录 + diff --git a/docs/en/200.agreement/README.md b/docs/en/200.agreement/README.md new file mode 100644 index 0000000..cc83777 --- /dev/null +++ b/docs/en/200.agreement/README.md @@ -0,0 +1 @@ +# Agreement diff --git a/docs/en/200.agreement/SUMMARY.md b/docs/en/200.agreement/SUMMARY.md new file mode 100644 index 0000000..5fe32cc --- /dev/null +++ b/docs/en/200.agreement/SUMMARY.md @@ -0,0 +1,3 @@ +Agreement +================================================ + diff --git a/docs/en/300.contributing/INDEX.md b/docs/en/300.contributing/INDEX.md new file mode 100644 index 0000000..748a863 --- /dev/null +++ b/docs/en/300.contributing/INDEX.md @@ -0,0 +1,4 @@ +# Contributing to seata-php + +## 目录 + diff --git a/docs/en/300.contributing/README.md b/docs/en/300.contributing/README.md new file mode 100644 index 0000000..29f1a86 --- /dev/null +++ b/docs/en/300.contributing/README.md @@ -0,0 +1 @@ +# Contributing to seata-php diff --git a/docs/en/300.contributing/SUMMARY.md b/docs/en/300.contributing/SUMMARY.md new file mode 100644 index 0000000..070e3ac --- /dev/null +++ b/docs/en/300.contributing/SUMMARY.md @@ -0,0 +1,3 @@ +Contributing to seata-php +================================================ + diff --git a/docs/en/INDEX.md b/docs/en/INDEX.md new file mode 100644 index 0000000..bac7b2c --- /dev/null +++ b/docs/en/INDEX.md @@ -0,0 +1,7 @@ +# Seata-PHP Document + +## 目录 + +1. [Preface](100.preface/INDEX.md) +1. [Agreement](200.agreement/INDEX.md) +1. [Contributing to seata-php](300.contributing/INDEX.md) diff --git a/docs/en/README.md b/docs/en/README.md new file mode 100644 index 0000000..12dc5d3 --- /dev/null +++ b/docs/en/README.md @@ -0,0 +1 @@ +# Seata-PHP Document diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md new file mode 100644 index 0000000..25c7784 --- /dev/null +++ b/docs/en/SUMMARY.md @@ -0,0 +1,6 @@ +Seata-PHP Document +================================================ + +1. [Preface](100.preface/INDEX.md) +1. [Agreement](200.agreement/INDEX.md) +1. [Contributing to seata-php](300.contributing/INDEX.md) diff --git a/docs/zh_cn/100.preface/INDEX.md b/docs/zh_cn/100.preface/INDEX.md new file mode 100644 index 0000000..3c14ede --- /dev/null +++ b/docs/zh_cn/100.preface/INDEX.md @@ -0,0 +1,4 @@ +# 序言 + +## 目录 + diff --git a/docs/zh_cn/100.preface/README.md b/docs/zh_cn/100.preface/README.md new file mode 100644 index 0000000..a8e3dc5 --- /dev/null +++ b/docs/zh_cn/100.preface/README.md @@ -0,0 +1 @@ +# 序言 diff --git a/docs/zh_cn/100.preface/SUMMARY.md b/docs/zh_cn/100.preface/SUMMARY.md new file mode 100644 index 0000000..29bc75f --- /dev/null +++ b/docs/zh_cn/100.preface/SUMMARY.md @@ -0,0 +1,3 @@ +序言 +================================================ + diff --git a/docs/zh_cn/200.agreement/INDEX.md b/docs/zh_cn/200.agreement/INDEX.md new file mode 100644 index 0000000..f438d4c --- /dev/null +++ b/docs/zh_cn/200.agreement/INDEX.md @@ -0,0 +1,4 @@ +# 规约 + +## 目录 + diff --git a/docs/zh_cn/200.agreement/README.md b/docs/zh_cn/200.agreement/README.md new file mode 100644 index 0000000..fa9e142 --- /dev/null +++ b/docs/zh_cn/200.agreement/README.md @@ -0,0 +1 @@ +# 规约 diff --git a/docs/zh_cn/200.agreement/SUMMARY.md b/docs/zh_cn/200.agreement/SUMMARY.md new file mode 100644 index 0000000..608b9da --- /dev/null +++ b/docs/zh_cn/200.agreement/SUMMARY.md @@ -0,0 +1,3 @@ +规约 +================================================ + diff --git a/docs/zh_cn/300.contributing/INDEX.md b/docs/zh_cn/300.contributing/INDEX.md new file mode 100644 index 0000000..643a332 --- /dev/null +++ b/docs/zh_cn/300.contributing/INDEX.md @@ -0,0 +1,4 @@ +# 成为 seata-php 的贡献者 + +## 目录 + diff --git a/docs/zh_cn/300.contributing/README.md b/docs/zh_cn/300.contributing/README.md new file mode 100644 index 0000000..7af375e --- /dev/null +++ b/docs/zh_cn/300.contributing/README.md @@ -0,0 +1 @@ +# 成为 seata-php 的贡献者 diff --git a/docs/zh_cn/300.contributing/SUMMARY.md b/docs/zh_cn/300.contributing/SUMMARY.md new file mode 100644 index 0000000..4fbab15 --- /dev/null +++ b/docs/zh_cn/300.contributing/SUMMARY.md @@ -0,0 +1,3 @@ +成为 seata-php 的贡献者 +================================================ + diff --git a/docs/zh_cn/INDEX.md b/docs/zh_cn/INDEX.md new file mode 100644 index 0000000..7c5d143 --- /dev/null +++ b/docs/zh_cn/INDEX.md @@ -0,0 +1,8 @@ +# Seata-PHP 中文文档 + + +## 目录 + +1. [序言](100.preface/INDEX.md) +1. [规约](200.agreement/INDEX.md) +1. [成为 seata-php 的贡献者](300.contributing/INDEX.md) diff --git a/docs/zh_cn/README.md b/docs/zh_cn/README.md new file mode 100644 index 0000000..1000a32 --- /dev/null +++ b/docs/zh_cn/README.md @@ -0,0 +1,43 @@ +# Seata-PHP 中文简介 + + +[![license](https://img.shields.io/github/license/seata/seata-php.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) + + +## 什么是 seata-php? + +Seata是一个非常成熟的分布式事务框架,在Java领域是事实上的分布式事务技术标准平台。Seata-php 是 seata 多语言生态中的 PHP 语言实现版本,实现了 Java 和 PHP 之间的互通,让 PHPer 也能使用 seata-php 来实现分布式事务。请访问[ Seata 官网 ](https://seata.io/zh-cn) 查看快速开始和文档。 + +Seata-php 的原理和 Seata-java 保持一致,都是由 TM、RM 和 TC 组成,其中 TC 的功能复用 Java 的,TM和RM功能后面会和 Seata-java对齐,整体流程如下 + +![](https://user-images.githubusercontent.com/68344696/145942191-7a2d469f-94c8-4cd2-8c7e-46ad75683636.png) + +## TODO + +- [ ] TCC +- [ ] XA +- [x] AT +- [ ] SAGA +- [x] TM +- [ ] RPC 通信 +- [ ] 防悬挂 +- [ ] 空回滚 +- [ ] 注册中心 +- [ ] Metric 监控 +- [x] 示例 + + +## 怎样运行 seata-php? + +1. 下载服务端 [**seata java**](https://seata.io/zh-cn/blog/download.html) 启动 TC 服务端. 可以参考 [**seata 部署指南**](https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html) 。 +2. 在 [**seata-skeleton**](https://github.com/PandaLIU-1111/seata-skeleton) 环境中运行 seata-php。 + + +## 如何成为贡献者? + +Seata-php 正处于建设阶段。 欢迎行业同仁入群参与其中,与我们一起推动 seata-php的建设!如果你想给 seata-php 贡献代码,可以参考 [**code contribution Specification**](./300.contributing/README.md) 文档来了解社区的规范,也可以加入我们的社区钉钉群: 44788115 ,一起沟通交流! + + +## Licence + +Seata-php 使用 Apache 许可证2.0版本,请参阅 [LICENSE 文件](https://github.com/seata/seata-php/blob/master/LICENSE)了解更多。. diff --git a/docs/zh_cn/SUMMARY.md b/docs/zh_cn/SUMMARY.md new file mode 100644 index 0000000..3765756 --- /dev/null +++ b/docs/zh_cn/SUMMARY.md @@ -0,0 +1,6 @@ +Seata-PHP 中文文档 +================================================ + +1. [序言](100.preface/INDEX.md) +1. [规约](200.agreement/INDEX.md) +1. [成为 seata-php 的贡献者](300.contributing/INDEX.md)