搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务 初步认识RocketMQ的核心模块 rocketmq模块 rocketmq-broker:接受生产者发来的消息并存储(通过调用rocketmq-store),消费者从这里取得消息。 rocketmq-client:提供发送、接受消息的客 ...
分类:
其他好文 时间:
2019-02-08 21:53:04
阅读次数:
148
搞懂分布式技术17:浅析分布式事务 众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都不执行。这里特别强调了本地事务,也就是目前的数据库只能支持同一个数据库中的事务。但现在的系统往往采用微服务架构,业务系统拥有独立的数据库,因此就出现了跨多个数据库的 ...
分类:
其他好文 时间:
2019-02-08 21:43:25
阅读次数:
176
四个操作必须放在一个事务范围内,并遵循ACID原则中的一致性原则。由于在该操作中,至少对第三方银行支付服务的调用是跨系统跨资源的,因此,事务必须是分布式事务。目前看到的系统问题,显然是在充值时,系统出现了故障,却未能将前面的两个操作回滚,导致执行结果不一致。结果,我悲催了:银行扣了款,优惠没落着,费... ...
分类:
其他好文 时间:
2019-01-31 18:23:39
阅读次数:
161
导读 在上一篇文章《【分布式事务】基于RocketMQ搭建生产级消息集群?》中给大家介绍了基于RocketMQ如何搭建生产级消息集群。因为本系列文章最终的目的是介绍基于RocketMQ的事物消息来解决分布式系统中的数据一致性问题,所以先给大家率先介绍了RocketMQ消息集群的搭建。 原本是想着在这 ...
分类:
其他好文 时间:
2019-01-31 13:31:12
阅读次数:
178
分布式事务是什么: 分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 为什么会产生分布式事务: 当我们的单个数据库的性能产生瓶颈的时候,我们可能会对数据库进行分区,这里所说的分区指的是物理分区,分区之后可能不同的库就处于不同的服务器上了, ...
分类:
其他好文 时间:
2019-01-30 18:35:04
阅读次数:
144
什么是fescar? 关于fescar的详细介绍,请参阅fescar wiki。 传统的2PC提交协议,会持有一个全局性的锁,所有局部事务预提交成功后一起提交,或有一个局部事务预提交失败后一起回滚,最后释放全局锁。锁持有的时间较长,会对并发造成较大的影响,死锁的风险也较高。 fescar的创新之处在 ...
分类:
编程语言 时间:
2019-01-30 00:24:55
阅读次数:
293
为什么要转型呢?云计算的盛行,导致很多产品已经云化。另外,长期专注于业务开发导致技术人员自觉乏味,没有提升空间,自我存在感、成就感大幅下降,而互联网、移动互联网、物联网、大数据、人工智能等一波又一波的浪潮,一个又一个造富神话,充满了吸引力,并且有很大的成长空间。 本文也是基于前文的基础上,从一些简单 ...
分类:
其他好文 时间:
2019-01-28 23:11:06
阅读次数:
217
分布式事务的典型处理方式 柔性事务和刚性事务 柔性事务满足BASE理论(基本可用,最终一致)。 刚性事务满足ACID理论。 在分布式事务当中主要讨论的是柔性事务的处理方式。 柔性事务分为: 两阶段提交型(2PC) 三阶段提交型(3PC) 补偿型(TCC、SAGA) 两阶段提交(2PC)型 两阶段提交 ...
分类:
其他好文 时间:
2019-01-28 00:49:25
阅读次数:
179
分布式数据库计算涉及到分布式事务、数据分布、数据收敛计算等等要求分布式数据库能实现高安全、高性能、高可用等特征,当然也带来了高成本(固定成本及运营成本),我们通过MongoDB及MySQLCluster从实现上来分析其中的设计思路,用以抽象我们在设计数据库时,可以引用的部分设计方法,应用于我们的生产系统首先说说关系及非关系数据库的特征MySQL的Innodb及Cluster拥有完整的ACID属性A
分类:
数据库 时间:
2019-01-26 11:46:44
阅读次数:
175
Fescar 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题。 概览 用户指南 快速开始 API 指南 部署指南 运维指南 参数配置说明 原理与设计 事务协议 AT 模式核心原理与设计 MT 模式核心原理与设计 XA 模式核心 ...
分类:
其他好文 时间:
2019-01-26 10:59:35
阅读次数:
200