随笔 - 2228  文章 - 4  评论 - 370  阅读 - 1107万

随笔分类 -  consistency

1
数据一致性
SpringCloud之个性化日志追踪
摘要:方案背景日志跟踪技术使得查找一次调用所产生的日志信息变得方便。当需要排查一些问题时,可以根据报错的上下文进行分析,给问题诊断带来方便。在spring cloud微服务中,单体应用的日志跟踪技术已经不能满足需求,因而一般采用Spring Cloud Sleuth组件提供的功能来完成分布式日志跟踪。Sp 阅读全文
posted @ 2017-12-07 10:45 duanxz 阅读(7044) 评论(0) 推荐(0) 编辑
分布式系统的一致性探讨
摘要:一、分布式系统的概念、分布式系统的特点、常用的分布式方案 1.1、集中式系统 在学习分布式之前,先了解一下与之相对应的集中式系统是什么样的。 集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。现在的银行系统,大部分都是这种集 阅读全文
posted @ 2017-11-27 18:25 duanxz 阅读(2937) 评论(0) 推荐(0) 编辑
【转】微服务架构下的数据一致性保证(二):可靠事件模式
摘要:在第一篇分享中我们介绍了可靠事件模式属于事件驱动架构,微服务完成业务操作后向消息代理发布事件,关联的微服务从消息代理订阅到该事件从而完成相应的业务操作。 我们还强调了实现可靠事件模式的关键在于:可靠事件投递和避免事件重复消费。 可靠事件投递定义为: (a)每个服务原子性的完成业务操作和发布事件 (b 阅读全文
posted @ 2017-11-21 15:52 duanxz 阅读(2108) 评论(0) 推荐(0) 编辑
【转】微服务架构下的数据一致性保证(一)
摘要:今天分享第一篇,主要内容包括: 1.传统使用本地事务和分布式事务保证一致性。 2.传统分布式事务不是微服务中一致性的最佳选择。 3.微服务架构中应满足数据最终一致性原则。 4.微服务架构实现最终一致性的三种模式。 5.对账是最后的终极防线。 一、传统使用本地事务和分布式事务保证一致性 传统单机应用一 阅读全文
posted @ 2017-11-21 15:52 duanxz 阅读(13608) 评论(0) 推荐(5) 编辑
【转】微服务架构下的数据一致性保证(三):补偿模式
摘要:在第一篇分享中介绍了微服务架构应满足数据最终一致性,并简要介绍了最终一致性的三种模式:可靠事件模式、补偿模式、TCC模式。 在第二篇分享中深入可靠事件模式,讲述了可靠事件投递和幂等性的实现方式和需要注意的问题。 在今天的第三篇分享中来谈谈补偿模式和TCC模式,主要从三个方面来谈。 实现补偿模式的关键 阅读全文
posted @ 2017-11-21 15:52 duanxz 阅读(1814) 评论(0) 推荐(0) 编辑
RocketMQ之二:分布式开放消息系统RocketMQ的原理与实践(消息的顺序问题、重复问题、可靠消息/事务消息)
摘要:分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了三个问题: RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实 阅读全文
posted @ 2016-11-11 11:21 duanxz 阅读(4763) 评论(0) 推荐(1) 编辑
数据库间的一致性:数据库冗余表数据一致性
摘要:本文主要讨论四个问题: (1)为什么会有冗余表的需求 (2)如何实现冗余表 (3)正反冗余表谁先执行 (4)冗余表如何保证数据的一致性 一、需求缘起 互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位 阅读全文
posted @ 2016-03-18 14:47 duanxz 阅读(2963) 评论(0) 推荐(0) 编辑
分布式事务之:TCC (Try-Confirm-Cancel) 模式
摘要:在当前如火如荼的互联网浪潮下,如何应对海量数据、高并发成为大家面临的普遍难题。广大IT公司从以往的集中式网站架构,纷纷转向分布式的网站架构,随之而来的就是进行数据库拆分和应用拆分,如何在跨数据库、跨应用保证数据操作和业务操作的一致性、原子性,又成为需要解决的新的问题。从分布式事务的需求来源来看:1、 阅读全文
posted @ 2016-02-29 09:04 duanxz 阅读(7292) 评论(0) 推荐(0) 编辑
分布式事务之:TCC几个框架的测试情况记录
摘要:国内主要的开源TCC分布式事务框架包括 TCC 实现框架的压力测试记录见《TCC 几个框架的测试情况记录》 阅读全文
posted @ 2016-02-28 23:08 duanxz 阅读(1182) 评论(0) 推荐(0) 编辑
RocketMQ总结
摘要:架构 概念模型最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结User GuideRocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年 阅读全文
posted @ 2016-01-12 16:16 duanxz 阅读(762) 评论(0) 推荐(0) 编辑
分布式事务之一:整体介绍
摘要:分布式事务场景如何设计系统架构及解决数据一致性问题,个人理解最终方案把握以下原则就可以了,那就是:大事务=小事务(原子事务)+异步(消息通知),解决分布式事务的最好办法其实就是不考虑分布式事务,将一个大的业务进行拆分,整个大的业务流程,转化成若干个小的业务流程,然后通过设计补偿流程从而考虑最终一致性 阅读全文
posted @ 2015-08-19 16:10 duanxz 阅读(3389) 评论(0) 推荐(0) 编辑
DTP模型之一:(XA协议之三)MySQL数据库分布式事务XA优缺点与改进方案
摘要:1 MySQL 外部XA分析 1.1 作用分析 MySQL数据库外部XA可以用在分布式数据库代理层,实现对MySQL数据库的分布式事务支持,例如开源的代理工具:ameoba[4],网易的DDB,淘宝的TDDL,B2B的Cobar等等。 通过MySQL数据库外部XA,这些工具可以提供跨库的分布式事务。 阅读全文
posted @ 2015-08-10 11:29 duanxz 阅读(3635) 评论(0) 推荐(1) 编辑
DTP模型之一:(XA协议之一)XA协议、二阶段2PC、三阶段3PC提交
摘要:XA协议 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口,而事务管理器作为全局的调度者,负责各个本地资源的提交和回滚。XA实现分布式事务的原理如下: XA接口详 阅读全文
posted @ 2015-07-24 10:34 duanxz 阅读(11440) 评论(2) 推荐(0) 编辑
DTP模型之二:(XA协议之二)JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)
摘要:jotm只能用的xapool数据源,而且很少更新。 一.以下介绍Spring中直接集成JOTM提供JTA事务管理、将JOTM集成到Tomcat中。 (经过测试JOTM在批量持久化时有BUG需要修改源码GenericPool类解决)! 参考文章http://mavin.zhou.blog.163.co 阅读全文
posted @ 2015-07-21 14:04 duanxz 阅读(958) 评论(0) 推荐(0) 编辑
DTP模型之二:(XA协议之二)jotm分布式事务实现
摘要:分布式事务是指操作多个数据库之间的事务,spring的org.springframework.transaction.jta.JtaTransactionManager,提供了分布式事务支持。如果使用WAS的JTA支持,把它的属性改为WebSphere对应的TransactionManager。 在 阅读全文
posted @ 2015-07-14 17:58 duanxz 阅读(891) 评论(0) 推荐(0) 编辑
分布式事务之:定期校对
摘要:现金和积分的组合支付场景中,需要同时保证现金和积分的支付结果同步。可以通过定期校对来完成。 注意: 1、查询接口保证“可查询操作” 2、积分相关接口要求“幂等性” 冻结积分 解冻积分 操作积分(冻结后的确认) 时序图: 定时校对的时序图: 阅读全文
posted @ 2015-04-23 08:55 duanxz 阅读(434) 评论(0) 推荐(0) 编辑
分布式事务之:可靠消息/事务消息
摘要:方案一:消息中间件 所谓的消息事务就是基于消息中间件的两阶段提交,本质上是对消息中间件的一种特殊利用,它是将本地事务和发消息放在了一个分布式事务里,保证要么本地操作成功成功并且对外发消息成功,要么两者都失败,开源的RocketMQ就支持这一特性,具体原理如下: 关于RocketMQ中的特性详解见《分 阅读全文
posted @ 2015-04-06 21:14 duanxz 阅读(754) 评论(0) 推荐(0) 编辑
缓存与数据库一致性之三:缓存穿透、缓存雪崩、key重建方案
摘要:一、缓存穿透预防及优化 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,但是出于容错的考虑,如果从存储层查不到数据则不写入缓存层,如图 11-3 所示整个过程分为如下 3 步: 缓存层不命中 存储层不命中,所以不将空结果写回缓存 返回空结果 缓存穿透将导致不存在的数据每次请求都要到存 阅读全文
posted @ 2014-06-17 09:15 duanxz 阅读(8516) 评论(0) 推荐(4) 编辑
缓存与数据库一致性之二:高并发下的key重建(先淘汰cache再写db)的问题
摘要:一、为什么数据会不一致 回顾一下上一篇文章《缓存与数据库一致性之一:缓存更新设计》中对缓存、数据库进行读写操作的流程。 写流程: (1)先淘汰cache (2)再写db 读流程: (1)先读cache,如果数据命中hit则返回 (2)如果数据未命中miss则读db (3)将db中读取出来的数据入缓存 阅读全文
posted @ 2014-06-13 18:01 duanxz 阅读(2488) 评论(0) 推荐(1) 编辑
缓存与数据库一致性之一:缓存更新设计
摘要:一、缓存更新场景介绍 缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。 例如对于用户的余额信息表account(uid, money),业务上的需求是: (1)查询用户的余额,SELECT money FROM account WHERE uid=XXX,占9 阅读全文
posted @ 2014-06-13 09:49 duanxz 阅读(9761) 评论(0) 推荐(4) 编辑

1
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示