
Distributed System
文章平均质量分 89
Young.Chen
关于我的一切 https://chenjiayang.me/about
展开
-
重读 Amazon Dynamo 论文有感
本文内容不仅仅局限于 Dynamo什么是 DynamoDynamo 和 MySQL 的关系?数据分片数据分片的实现方式Redis 集群的数据分片Dynamo 的数据分片一致性哈希的改进数据复制Dynamo 的读写流程数据一致性和冲突解决Dynamo 集群成员状态监测总结参考资料什么是 Dynamo亚马逊在业务发展期间面临一些问题,主要受限于关系型数据库的...原创 2019-12-21 15:11:15 · 1490 阅读 · 0 评论 -
[图文] Seata AT 模式分布式事务源码分析
推荐阅读 Seata TCC 分布式事务源码分析公众号 Young_Blog什么是 Seata AT 模式Seata AT 的使用方法第一步,增加全局事务注解第二步,配置代理数据源第三步,新建 undo_log 表Seata AT 的工作流程工作流程总览图解 AT 模式一阶段流程图解二阶段 Commit 流程图解二阶段 Rollback 流程本节小结...原创 2019-07-05 19:56:42 · 3096 阅读 · 7 评论 -
[深度] Seata TCC 分布式事务源码分析
Seata 是什么Seata 是阿里近期开源的分布式事务框架,地址:https://github.com/seata/seata。框架包括了集团的 TXC(云版本叫 GTS)和蚂蚁金服的 TCC 两种模式,短短数月 Github 上的 star 数已经接近一万,算是目前唯一有大厂背书的分布式事务解决方案。TXC 在 Seata 中又叫 AT 模式,意为补偿方法是框架自动生成的,对用户完全屏蔽,...原创 2019-05-21 16:04:32 · 1039 阅读 · 0 评论 -
你需要知道的,缓存架构的设计和常见问题
缓存架构的设计缓存层通常架设在 DB 和业务逻辑层之间,核心功能就是从DB生成一条缓存数据,可以在后续若干次查询请求过程中不再访问DB,请求在缓存层直接命中后返回,从而可以达到加快访问速度的作用,同时也能在流量暴增时充当保护层防止DB被打垮。缓存的引入虽然有优势,但也会带来一些问题,例如缓存穿透、缓存雪崩等,所以哪些场景适合使用缓存需要斟酌。读多写少的场景是很适合的,可以显著降低 DB 的压力...原创 2019-02-23 15:07:55 · 321 阅读 · 0 评论 -
UNIX 下的 I/O 模型
开篇RPC 中很重要的部分就是网络通信,因此这篇叙述一下 Unix 下为解决不同 I/O 问题所设计的 I/O 模型。首先要说明的是,I/O 是个很宽泛的概念,常见的有网络 I/O、磁盘 I/O、内存 I/O 等。在 Unix 系统下,不论是标准输入还是借助套接字接受网络输入,其实都会有两个步骤,很多文章都提到:等待数据准备好(Waiting for the data to be read...原创 2018-10-01 22:01:31 · 237 阅读 · 0 评论 -
Redis 集群中的纪元(epoch)
纪元(epoch)Redis Cluster 使用了类似于 Raft 算法 term(任期)的概念称为 epoch(纪元),用来给事件增加版本号。Redis 集群中的纪元主要是两种:currentEpoch 和 configEpoch。currentEpoch这是一个集群状态相关的概念,可以当做记录集群状态变更的递增版本号。每个集群节点,都会通过 server.cluster->...原创 2018-09-16 14:28:18 · 6208 阅读 · 0 评论 -
浅谈 Redis 主从复制 psync1 和 psync2
写在前面在分布式环境中,数据副本 (Replica) 和复制 (Replication) 作为提升系统可用性和读写性能的有效手段被大量应用系统设计中,Redis 也不例外。Redis 作为单机数据库使用时,适用常见有限且存在单点宕机问题,无法维持高可用。因此 Redis 允许通过 SLAVEOF 命令或者 slaveof 配置项来让一个 Redis server 复制另一个 Redis ser...原创 2018-09-09 15:06:11 · 765 阅读 · 0 评论 -
Zookeeper 在构建大型系统中的作用
这篇文章主要聊一聊,Zookeeper 在业界构建系统时,一般承担什么样的功能,注册中心?分布式锁?亦或是 Name Serivce 等什么是 ZookeeperZookeeper 是 Yahoo! 基于 Google Chubby 论文的思想,结合自己的实践经验开发而来,2011 年成为 Apache 顶级项目,本质上是一个高可用的分布式协调服务(highly reliable dist...原创 2018-08-25 14:44:55 · 418 阅读 · 0 评论 -
[论文笔记] Cassandra - A Decentralized Structured Storage System
Intro & Related WorkCassandra 来自于 Facebook 的分布式存储系统,目的是取得可拓展性和高可用性,一开始主要为了 Inbox Search 这个功能设计,该功能要求系统能处理高频的写入吞吐量,为了减少延迟也要求跨地域部署。相关工作这部分简述了几个代表性的分布式存储系统实现,包括 GFS,Dynamo,Bayou,Ficus 等,讲了他们在架构设计、副...原创 2018-09-04 10:24:08 · 964 阅读 · 0 评论 -
怎样做可靠的分布式锁,Redlock 真的可行么?
本文是对 Martin Kleppmann 的文章 How to do distributed locking 部分内容的翻译和总结,上次写 Redlock 的原因就是看到了 Martin 的这篇文章,写得很好,特此翻译和总结。感兴趣的同学可以翻看原文,相信会收获良多。开篇作者认为现在 Redis 逐渐被使用到数据管理领域,这个领域需要更强的数据一致性和耐久性,这使得他感到担心,因为这不是 R...原创 2018-08-05 17:51:50 · 10492 阅读 · 4 评论