![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统架构
文章平均质量分 93
hh6plus
这个作者很懒,什么都没留下…
展开
-
缓存与数据库一致性 笔记
缓存与数据库数据的一致性 是个老生常谈的问题。此文清晰地讲解了其中的问题和常规解法。关键点包括:写缓存vs删缓存(写的并发问题风险较高,也有资源浪费风险,但相较读属于主动加载,具体还是结合业务场景确定) 先删缓存vs先写db(先删缓存有并发读写时造成不一致的风险;先写db也有并发读写时,极端情况读线程将旧值写入缓存的风险,但风险更低) 处理db主从延迟(对有读写分离+主从延迟的情况,删除需要延时删除) 处理删缓存失败(阻塞重试会影响线程耗时,做本地消息表太重,可以结合binlog+中间件做异步删除转载 2022-04-09 20:58:25 · 238 阅读 · 0 评论 -
京东到家库存设计(分布式系统)笔记
近期阅读了京东到家的库存系统设计。重点描述了几个核心问题,如:同订单重复扣减处理(订单锁+唯一性校验) 同商品库存并发扣减处理(悲观:商品锁;乐观:更新where stock > require,本质是db写的乐观锁,stock类似version;对争抢更严重的情况如秒杀,提供的方案不是很合理(50%直接失败会导致普通的争抢也有一半失败吧?不太正常。)) 分布式一致性(提单系统做回滚协调者+worker扫描订单列表兜底) 缓存在库存中的使用(未提及)也了解了部分库存业务逻辑(预占、可用转载 2022-04-09 16:13:06 · 1078 阅读 · 0 评论 -
分布式事务简介
转自:https://xiaomi-info.github.io/2020/01/02/distributed-transaction/使用tcc实现强一致性;使用 本地消息表+mq+失败回滚 实现最终一致性。以下为原文。[作者简介]李文华,小米信息技术部海外商城组随着互联网技术的不断发展,系统越来越复杂,几乎所有 IT 公司的系统都已经完成从单体架构到分布式架构的转变,分布式系统几乎无处不在。谈到分布式系统,特别是微服务架构,我们不得不谈分布式事务。今天就跟大家一起聊聊分布式事务以及常用.转载 2020-09-09 19:55:11 · 188 阅读 · 0 评论 -
分布式事务(如交易系统)
转载一篇大牛写的分布式系统一致性解决方案。对于交易系统,或者涉及多端一致性的系统都有很好的解法。原贴:http://www.infoq.com/cn/articles/solution-of-distributed-system-transaction-consistency除下面的方式外,如果是由于双写导致的读取不一致(如数据迁移时,需要进行的双写),可以通过双读解决,使用modify_...转载 2018-02-01 01:09:42 · 854 阅读 · 0 评论 -
设计文档 注意点
设计文档的要求:1. 问题梳理:领域问题、技术问题不重不漏,全景图2. 充分调研:业内有哪些解决方案,方案对比不造轮子,借鉴解法3. 技术选型:结合自己的问题避免过度设计4. 设计(达成目标,解决问题)五视图,端到端思考架构5图原则设计文档应该包含的:1. 项目背景2. 项目目标3. 需求分析4. 方案介绍与对比5. 数据模型(若有)原创 2018-05-02 13:22:09 · 235 阅读 · 0 评论 -
数据库和缓存组件的主要区别
持久化ID的方案方案一:缓存组件方案二:数据库备注对高频读写的支持 复杂查询 永久持久化 及 数据量太大时的系统负担 永久持久化的风险在于,数据量太大时可能导致系统故障。(数据库容量不足等)永久持久化的优点在于,可以留存数据。对于数据量太大的风险,可以通过定时任务检查数据库规模,设置报警阈值来规避。且目前的数据量不足以引发此问题。容灾备份能力 总结方案一灵活性强,适合支持高频的读写,适合存储...原创 2018-05-02 13:24:10 · 1414 阅读 · 0 评论 -
raft介绍
http://thesecretlivesofdata.com/raft/转载 2018-05-10 19:29:08 · 362 阅读 · 0 评论