7daysgolang-GeeRPC 简析
7daysgolang-GeeRPC 简析
|
前言本文是记录在学习 GeeRPC 项目中的一些要点和概念,在代码部分只会给出最核心的代码,而一些外围代码,例如错误处理、一些并发细节、一些接口定义等都会被忽略。适合从一个宏观层面来理解 GeeRPC,因为 GeeRPC 原文实际上是从细节出发,难以从一个宏观视角理解,容易在「森林」中迷路。完整的源
Raft 详解
Raft 详解
|
共识算法Raft 是一种共识算法,共识算法是一种在分布式系统中非常重要的算法,他允许在一个节点集合中,即使某些节点挂了,对外的服务仍然还是一致的。最经典的模型是拜占庭问题,假设现在有几个将军和他们的军队围攻一个城市,这些将军必须通过传令兵来通信。他们需要对攻击还是撤退达成一致的决定,只有半数以上的军
MapReduce 详解
MapReduce 详解
|
前言MapReduce 作为谷歌三剑客之一,在分布式系统领域有非常重要的作用,他带来 Map-Reduce 的分布式任务处理框架推动了分布式系统的发展。对于 MapReduce,其可以简单概括为两个步骤,第一个是 Map,第二个是 Reduce。Map 的操作在于把原始巨大的任务打碎拆散,方便多个计
经典互斥问题:面包店算法
经典互斥问题:面包店算法
|
介绍面包店算法是在多线程环境下无锁的互斥算法,能够保证在多线程的环境下,临界区同时至多只有一个线程进入。虽然算法回看起来并不难,但却是图灵奖得主 Lamport 最骄傲的成果之一。面包店算法要解决的本质是一个互斥问题,其是由 Dijkstra 提出的,另一个图灵奖得主。在计算机发展过程中,有相当多人
The Google File System 详解
The Google File System 详解
|
什么是 GFS?GFS 全称为 Google File System,是一个分布式的文件系统,GFS 实际上是部署在分布式的环境中,但是提供的文件服务好像就在单机上运行一样。程序员不需要知道分布式的任何细节,就像使用本地文件一样读取或写入在分布式环境上储存的文件。GFS 为大型数据密集型的应用提供了
  • 1