本文主要介绍 seata-go 中 TCC 的设计思路、异常处理以及在实战中的使用。 Seata 是一款开源的分布式事务解决方案,致力于为现代化微服务架构下的分布式事务提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 等多种事务模式,帮助用户解决不同场景下的业务问题。同时,Seata 还支持多语言编程,并且提供了简易的 API 接口、丰富的文档以及快速上手的 samples 示例项目,也能快速帮助开发者入门并上手 Seata 的使用。 Seata-go 是 Seata 多语言生态中 golang 语言的实现方案,它致力于帮助 golang 开发者也能使用 Seata 的能力来解决分布式事务场景的问题。Seata-go 复用了 Seata TC 的能力,client 的功能和 Seata 保持一致。目前 Seata-go 已经支持了 TCC 和 AT 模式,XA 模式正在测试中,预计会在 5 月份发版。Saga 模式正在设计和规划中,后面也会和 Seata 的 Saga 功能保持一致。
随着业务的持续发展变化,业务不可避免的越来越复杂和难以理解。本文将为大家介绍一个帮助自己全面理解复杂系统的工具:“系统思考”,希望对大家有所帮助。
灰度很重要,灰度的策略也需要结合实际情况进行灵活的调整,本文跟大家分享了一个前些时间发现的灰度设计bug。
提高代码代码可读性、复用性、可扩展性,从而提高开发体验和效率是基础素养。减少重复代码,对重复代码进行抽象、下沉,遵守设计原则,应用设计模式,都有一个共同的目的:发现变化,封装变化,提高代码的可复用性,减少需求变化影响的范围,从而使软件、系统、云服务、网站等能够可控的修改与升级,具有更长的生命周期。
操作系统、编译原理、计算机图形学被传为程序员的三大浪漫,每个方向都易懂难深,但作为程序员对每个方向还是要有基本的认识和判断,毕竟贯穿虚拟和现实生活的桥梁是搭建在抽象之上的,这三大浪漫是抽象化的课代表。本次我们认识下计算机图形学中的3D渲染部分,目的是沉淀下最近接触到的一些3D知识,同时能帮助大家有一个简单的认识也是惊喜的收获吧。