吴江坷《我与SEATA的开源之路以及SEATA在互联网医疗系统中的应用》
吴江坷作为SEATA committer,分享了自己与SEATA的开源之路,以及SEATA在互联网医疗系统中的应用。本文将从吴江坷的角度,讲述自己参与SEATA项目的经历,并分享SEATA在互联网医疗系统中的应用。
一、初识Fescar
吴江坷初识Fescar是在SpringCloudAlibaba项目中看到的,当时SEATA的名字还叫Fescar,版本0.2.0。由于吴江坷本身对分布式事务比较感兴趣,所以就点了进去。当时吴江坷大概看了下SEATA的设计,觉得真的很不错。大家都知道,分布式事务问题一直都是分布式系统中比较棘手的一个问题,有了SEATA以后,至少在不久的将来,对于分布式事务的解决方案选型时,又可以多一个选择。
二、提交第一个PR
吴江坷今年2月份的时候,在SEATA提交的第一个PR是一个关于Code cleanup的PR,这个PR里面其实并没有什么太多的改动,只是对一些代码进行了优化和格式化。重要的是,吴江坷对如何在github上面贡献自己的代码有了初步的认识,从fork到最终提交PR,再到最终的代码合并都有了一些概念。当时,第一次提交PR的时候,每过一段时间都会去关注一下,看看有什么最新的通知,最后自己的代码被季敏合并之后,觉得很开心,也非常有成就感。
三、我对开源的理解
SEATA是我参与的第一个开源项目,我最开始参与的时候也会去想,自己的编码水平是否符合开源项目的要求,自己的设计思路是否考虑足够全面?其实,放在今天来讲,我觉得之前的那些想法都是多余的。因为,我觉得做开源并不是单向的"贡献”,反而它是一个双向学习的过程。我们将代码提交到开源社区,committer会先学习我们的设计思路,并给出合理的建议。而我们也会从这些建议中学到很多编程技巧与设计思路。简单来说,开源就是一个互相分享的过程。
四、SEATA中的一些设计分享
1. 可拓展注册中心与配置中心
利用SPI实现注册/配置中心可拓展性,RegistryProvder接口为各种注册中心的加载提供了一个统一的出口规范,当SPI进行加载的时候,会调用provide方法返回一个具体的注册中心实现。如果开发者有特定的注册中心需求,可以实现此接口。
在SEATA中,吴江坷分享了SEATA中的一些设计理念,例如可拓展注册中心与配置中心,RegistryProvder接口等等。这些设计理念可以帮助开发者更好地理解SEATA的架构和设计思想。
吴江坷《我与SEATA的开源之路以及SEATA在互联网医疗系统中的应用》为我们提供了一个宝贵的分享,展示了SEATA的设计理念和架构,以及吴江坷参与SEATA项目的经历。这篇文章对于开发者和SEATA的用户都具有很高的参考价值。