SOSP2007:Dynamo: Amazon’s Highly Available Key-value Store·
本文采用wolai制作,原文link: https://www.wolai.com/ravenxrz/kfYbMeDC9eMYTdGs2sqjJS
Dynamo 是一个分布式存储系统,设计目标是提供高可用性和可扩展性,同时牺牲一定的数据一致性。以下是其主要特点和机制的总结:
本文采用wolai制作: 原文link: https://www.wolai.com/ravenxrz/eVCDgKnqMXKwptcKfKnVPo
原文名: Taurus Database: How to be Fast, Available, and Frugal in the Cloud
TODO:
重点:
存算分离,和Aurora和Socrates 类似,采用新的复制和恢复算法,提供更高可用性, 存储分为logstore和pagestore,logstore采用强一致性写入,pagestore采用最终一致性写入。 架构上:关键路径网络小于等于一跳网络,采用append only存储。
本文采用wolia制作,原文link: https://www.wolai.com/ravenxrz/9RuzaMAipvQTqAjnGiydYn
原文名字:mClock: Handling Throughput Variability for Hypervisor IO Scheduling
作者提出一种mlock算法,用于优化VM中对IO分配。
📌一句话总结mclock算法:用户分配的带宽要么等于所设置的Reservation值,要么等于按照Weight分配的结果,要么等于Limit值。当按照Weight分配的结果大于用户所设置的Reservation时,则用户最终分配的带宽为按照Weight分配的结果;当按照Weight分配的结果小于用户所设置的Reservation时,则带宽分配的结果等于Reservation;当按照Weight分配的结果大于用户所设置的Limit时,则带宽分配的结果等于Limit。
📌wolai制作,原文:https://www.wolai.com/ravenxrz/d4CYcWtC6M86RQyVAuKT2d
花了1~2 week的时间过完了经典的C网络库muduo实现,和学习LevelDB的时候不同,那个时候主要学习C的编程知识,而muduo主要学习的是设计,当然还有一些编程技巧。本篇总结下通过muduo学习到了哪些内容。
📌本文采用wolai制作,link: https://www.wolai.com/ravenxrz/ty4wvA5PaaHLbgDs4oofRE
前面几篇文章已经把muduo最核心的链路分析完成,包括事件循环、线程池、连接监听、建立,处理的全链路。本篇分析一些其他工具类,包含三个:Buffer、日志和定时器。
📌本文采用wolai制作, link
📌本文采用wolai制作, link
前文muduo源码分析1-事件循环(上)分析了EventLoop
及其相关类的基本原理,但是还残留了一个问题,即EventLoop
的线程模型是怎么样的?