You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README_ZH.md 3.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <!--
  2. Licensed to the Apache Software Foundation (ASF) under one or more
  3. contributor license agreements. See the NOTICE file distributed with
  4. this work for additional information regarding copyright ownership.
  5. The ASF licenses this file to You under the Apache License, Version 2.0
  6. (the "License"); you may not use this file except in compliance with
  7. the License. You may obtain a copy of the License at
  8. http://www.apache.org/licenses/LICENSE-2.0
  9. Unless required by applicable law or agreed to in writing, software
  10. distributed under the License is distributed on an "AS IS" BASIS,
  11. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. See the License for the specific language governing permissions and
  13. limitations under the License.
  14. -->
  15. # seata-go: 简单的可扩展自主事务架构(Go版本)
  16. [![CI](https://github.com/apache/incubator-seata-go/actions/workflows/license.yml/badge.svg)](https://github.com/apache/incubator-seata-go/actions/workflows/license.yml)
  17. [![license](https://img.shields.io/github/license/apache/incubator-seata-go.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
  18. [English US](./README.md)
  19. ## 什么是 seata-go?
  20. Apache Seata(incubating) 是一个非常成熟的分布式事务框架,在 Java 领域是事实上的分布式事务技术标准平台。Seata-go 是 seata 多语言生态中的 Go 语言实现版本,实现了 Java 和 Go 之间的互通,让 Go 开发者也能使用 seata-go 来实现分布式事务。请访问[Seata 官网](https://seata.apache.org/zh-cn/)查看快速开始和文档。
  21. Seata-go 的原理和 Seata-java 保持一致,都是由 TM、RM 和 TC 组成,其中 TC 的功能复用 Java 的,TM 和 RM 功能后面会和 Seata-java 对齐,整体流程如下:
  22. ![](https://user-images.githubusercontent.com/68344696/145942191-7a2d469f-94c8-4cd2-8c7e-46ad75683636.png)
  23. ## 待办事项
  24. - [x] TCC
  25. - [x] XA
  26. - [x] AT
  27. - [x] Insert SQL
  28. - [x] Delete SQL
  29. - [x] Insert on update SQL
  30. - [x] Multi update SQL
  31. - [x] Multi delete SQL
  32. - [x] Select for update SQL
  33. - [x] Update SQL
  34. - [ ] SAGA
  35. - [x] TM
  36. - [x] RPC 通信
  37. - [x] 事务防悬挂
  38. - [x] 手动方式
  39. - [x] 代理数据源方式
  40. - [x] 空补偿
  41. - [x] 手动方式
  42. - [x] 代理数据源方式
  43. - [x] 配置中心
  44. - [x] 配置文件
  45. - [x] 注册中心
  46. - [ ] Metric 监控
  47. - [x] 压缩算法
  48. - [x] Sample 例子
  49. ## 如何运行项目?
  50. 关于如何使用和集成 seata-go 的示例,可以参考 [apache/seata-go-samples](https://github.com/apache/incubator-seata-go-samples)
  51. ## 如何给Seata-go贡献代码?
  52. Seata-go 目前正在建设阶段,欢迎行业同仁入群参与其中,与我们一起推动 seata-go 的建设!如果你想给 seata-go 贡献代码,可以参考 **[代码贡献规范](./CONTRIBUTING.md)** 文档来了解社区的规范,也可以加入我们的社区钉钉群:33069364,一起沟通交流!
  53. ## 协议
  54. Seata-go 使用 Apache 许可证2.0版本,请参阅 LICENSE 文件了解更多。