作者回复: 小公司,小团队,可千万别上TCC,除非跟这家老板有仇。 更简单的方法,就是自建本地事务表+跑批job补偿,短链路用事务型消息也可以
作者回复: 如果是用dubbo或者HSF的话,其实版本控制内置version属性就可以很好解决,但是如果是open feign这类对版本控制支持的并不咋样的组件,那我们一般就是采取/v1/v2这种path来区分。比如手机app,老版本新版本要同时支持,但业务差别很大,那么就新app用v2,老app用v1,直到老app强制更新后下线v1
作者回复: 如果是串行执行的分布式事务,比如A->B->C,当执行到C的时候,A和B可以认为已经完成了Commit操作,所以C如果去捞数据的话,那么读到的就是AB步骤执行过后的数据。 另外针对全局事务来说,每个分支事务完成事务提交后会上报TC完成状态。
作者回复: 1. implements实现接口 2. 当年通过mtop来做,自研魔改黑科技。大厂一般都用各种自研产品 3. 我对tomcat调优并不精通,但是看这个问题好像出自面试宝典