HDFS 简析
HDFS 简析
|
简介HDFS 全称 Hadoop Distributed File System,是用于 Hadoop 生态的底层分布式文件系统,其设计和 GFS 类似,但是做了一定的简化。HDFS 只允许写入一次,也就是写入必须是串行的,而 GFS 允许并行写入,同样也带来了更复杂的并行设计。简化的 HDFS 仍
YARN 简析
YARN 简析
|
概述MapReduce 中,存在有以下几个缺陷:拓展性差,JobTracker 同时具备资源管理和作业控制两个功能,导致其称为严重的单点性能瓶颈,无法拓展更大的集群可靠性差:Master/Slave 结构存在单点故障,如果 Master 宕机则会导致整个集群不可用资源利用率低:MapReduce 是
BigTable 简析
BigTable 简析
|
概述BigTable 一定程度上是 NoSQL 的前身,也就是键值型数据库,存储的数据本质上就是键值对,所以 BigTable 顾名思义,就可以理解成一个支持分布式和巨量数据的 Map。在 BigTable 中键为行键(Row Key)、值为列族(Column Family)中的列元素,时间戳(Ti
LSM-Tree
LSM-Tree
|
什么是 LST-TreeLSM-Tree 全称 Log-Structured Merge Tree,该树用于优化写入密集型的操作,解决了传统的 B 树或 B+ 树进行频繁写入时产生的性能问题。其充分利用了磁盘顺序写的速度远高于随机写的速度,并通过内存 + 磁盘的多层合并,提高了大规模数据的写入性能。
7daysgolang-GeeRPC 简析
7daysgolang-GeeRPC 简析
|
前言本文是记录在学习 GeeRPC 项目中的一些要点和概念,在代码部分只会给出最核心的代码,而一些外围代码,例如错误处理、一些并发细节、一些接口定义等都会被忽略。适合从一个宏观层面来理解 GeeRPC,因为 GeeRPC 原文实际上是从细节出发,难以从一个宏观视角理解,容易在「森林」中迷路。完整的源
HTTP 各版本简述(1.1/2/3)
HTTP 各版本简述(1.1/2/3)
|
HTTP 1.0HTTP 1.0 实际上作为最原始的版本,并没有使用多久就被 HTTP 1.1 代替了,后续实际上普遍认为 HTTP 1.1 是第一个广泛使用的 HTTP 版本。原始的 HTTP 由于没有长连接,也就是每个 HTTP 请求都是单独的 TCP 连接,这就会导致在请求多个小文件时延迟较高
HTTP 如何加密?
HTTP 如何加密?
|
为什么需要加密简单来说,HTTP 协议的内容是通过明文传递的,任何中间人都可以看到完整的信息,由此就导致了两种攻击:被动窃听攻击,报文的信息可以被抓包获取,从而泄露信息;主动攻击:中间者可以修改 HTTP 协议的内容,从而给客户端或服务端发送伪造的信息。所以需要一个机制来对 HTTP 的内容进行加密
Makefile 光速入门
Makefile 光速入门
|
Makefile 光速入门什么是 MakefileMakefile 简单来说就是构建某个文件需要的步骤,比如我们要编译一个 C 语言的程序,单个文件时我们可以简单输入一行 gcc 的编译命令:$ gcc main.c -o main就可以完成一个编译单文件的操作,但是如果项目比较复杂,涉及到多文件的
Copy-On-Write 策略
Copy-On-Write 策略
|
操作系统在分配内存时,有一个很重要的策略叫写时复制(Copy-On-Write,COW),在现实情况中,内存通常是不够应用程序分配的,应用程序通常会申请超过自己需求的内存。在操作系统内部,COW 对进程 fork 也有加速作用。我们先从操作系统的 fork 操作来理解。当一个进程进行 fork 时,
Raft 详解
Raft 详解
|
共识算法Raft 是一种共识算法,共识算法是一种在分布式系统中非常重要的算法,他允许在一个节点集合中,即使某些节点挂了,对外的服务仍然还是一致的。最经典的模型是拜占庭问题,假设现在有几个将军和他们的军队围攻一个城市,这些将军必须通过传令兵来通信。他们需要对攻击还是撤退达成一致的决定,只有半数以上的军