上个项目做到一半,第一个版本还没上线就要交出去给别人做了,哎,只能说生活变化太快了。前一天还是把项目当作重点项目,第二天就要被当作包袱被丢出去,连同团队中的一些成员也一并被丢给了别人。心里说实话有点对不起那些兄弟,因为项目里还有挺多坑,后面只能辛苦他们去填了,希望他们能把这个项目做好做下去,也希望他们有个好前程。只是毕竟这个项目的研发部分是自己一手牵头搞起来的,现在搞一个半成品给人家,多少心里有点挫败感,但是也没办法,确实是自己某些方面的能力不到位,还是要增强设计和业务架构能力,在做实现方案的时候要多考虑一些扩展性和灵活性。这次项目的核心难点主要是出现在协同工作流的实现上,对工作流的了解还是太少了,以后有时间去研究研究开源工作流的设计和实现。
最近碰到的另外一个问题就是分布式的事务问题,目前很多微服务的项目中都没有解决这个问题,团队的成员都在问解决方案,所以去了解了一下,发现解决方案就那几种,全局事务,二次提交,TCC,最终一致性,最大努力通知,但这些大多都只描述了解决的原理和思路,并没有给出具体的实现,很晕,我们现在是需要具体的实现方案。后面了解到一个LCN的分布式事务框架,是一个本地事务协同的框架,现在已经到5.0了,应该比较稳定了,网上也有很多人都继承了,目前也支持dubbo和spring cloud两种协议的微服务分布式事务,而且支持不同类型的数据源,比如DB,Redis,Mongo,Mq等。准备明天弄个demo试一下,如果有用的话就引入到项目中,LCN最大的好处就是代码侵入性小,对使用者来说很简单,一个注解就解决了分布式事务问题。他的原理后面慢慢研究吧。
还有一个问题就是虽然用了spring cloud微服务但是对整个springcloud的体系不是很清晰,后面还要重点学习一下。