三分钟彻底弄懂什么是分布式和微服务架构( 六 )

两阶段提交 , 将事务分成两部分能够大大提高分布式事务成功的概率 。 如果在第 阶段都成功了 , 而执行第 阶段的某 个节点失败 , 仍然导致数据的不准确 , 这时一般需要人工去处 理 , 这就是当初在第一步记录日志的原因 。 另外 , 如果分布式事务涉及的节点很多 , 某 个节 点的网络出现异常会导致整个事务处于阻塞状态 , 大大降低数据库的性能 。 所以一般情况下 , 尽量少用分布式事务 。

四、服务划分

横向拆分:按照不同的业务域进行拆分 , 例如订单、营销、风控、积分资源等 。 形成独立的业务领域微服务集群 。

纵向拆分:把一个业务功能里的不同模块或者组件进行拆分 。 例如把公共组件拆分成独立的原子服务 , 下沉到底层 , 形成相对独立的原子服务层 。 这样一纵一横 , 就可以实现业务的服务化拆分 。

推荐阅读