Skip to content

how to debug

scott lewis edited this page May 12, 2020 · 4 revisions

  目前 seata-golang 版本,已经实现基于内存和DB的事务数据管理(session manager),client 端已经实现 TCC 模式。AT 模式的实现还有些细节没有考虑好,比如 sql 解析,主键如何处理等;metrics 收集器还未考虑;从配置中心读取配置等。这些问题,都是值得思考并参与贡献的。

源码👇seata-golang

TC Server 调试

  • 先在 Goland 配置环境变量,配置为 config.yaml 文件的绝对路径

    image-20200425113815056

    image-20200425113443475

  • 运行 main.go,系统默认监听 8091 端口。

  • Demo 客户端的代码👇seata-demo,设置service.localRgroup.grouplist = "127.0.0.1:8091",运行 demo 即可调试。

  目前,Java client 的 AT 模式和 TCC 模式,连接 Go 版 TC,能正确提交和回滚。

Go Client 调试

  可能 Gopher 们比较关心 Seata Go Client。如文章一开始提到的,当前只支持TCC 模式。运行也比较简单,直接运行 samples 文件夹中,tcc 文件夹下的 main.go,默认会去连接 127.0.0.1:8091。

image-20200425115159565

访问 http://localhost:8080/commit, 模拟的 TCC 事务提交。

访问 http://localhost:8080/rollback, 模拟的 TCC 事务回滚。

可以连接 Go 版本的 TC Server,也可以连接 Java 版的 TC Server,都能正确提交回滚。

Clone this wiki locally