摘要: 3. 时间和顺序 分布式系统中的顺序是什么?为什么它重要? 正如前文描述过的,分布式编程就是将在多服务器上解决单机问题的艺术。 事实上,这就是顺序问题的核心。如果一个系统一个时间点上只能专注一件事,那么所有操作之间就是全序的。就像人们相继通过一个门一样,每个操作都有一个确定的前驱者和一个确定的后继者 阅读全文
posted @ 2020-12-21 11:09 SourMango 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 2. 抽象的升级和降级 在本章中,我们将讲述抽象升级和降级(译者:也可以理解成高层和底层),看到一些不可能结果(CAP和FLP),然后为了性能,对抽象进行降级。 如果你做过程序员,那么对于抽象层级这个概念应该是不陌生的。我们经常学习一些抽象层级,通过一些API访问底层,并可能需要进行封装,为自己模块 阅读全文
posted @ 2020-12-21 11:06 SourMango 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 计算机最基本两个任务 存储 计算 分布式编程与单机编程一样,旨在解决这些问题。只不过分布式是通过协调多台计算机来解决问题。而采用分布式编程则是由于问题规模庞大到不适合用单机来解决。 分布式系统并不是必须的。只要投入足够的钱和足够研发时间,总能设计出一台完美的计算机。它足够快,可用性高,足以应付任意规 阅读全文
posted @ 2020-12-21 11:03 SourMango 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 这个系列纯粹个人工作和学习以来关于并发的简单总结。 概略 并发可以粗暴分为两大类——加锁与无锁。如果场景对性能有一定追求,那无锁无疑是第一选择。无锁有多种实现,其中最基本的就是Atomic原子操作。这也是第一篇的主题。 原子操作一般伪代码如下 // 写 y.store (20, memory_ord 阅读全文
posted @ 2020-12-21 08:44 SourMango 阅读(217) 评论(0) 推荐(0) 编辑