摘要:
共识是分布式容错系统的基础问题,是指多个服务器对值达成一致。 raft 设计目的: 易于理解 跟 Paxos 有同等容错能力和性能 raft 服务器状态: 领导(leader):处理所有客户端请求 跟随者(follower):被动响应候选人和领导 候选人(candidate):中间状态,在选举时出现 阅读全文
摘要:
问题1: Deployment、StatefulSet 和 DaemonSet 的区别和联系? 这三者都是 K8S中管理 pod 集合的工作负载资源定义。一个工作负载资源可以由若干个分布到不同节点上的 pod 构成,pod 是 K8S 中创建和管理的最小可部署的计算单元,一个 pod 可以包含多个容 阅读全文
摘要:
Overlay FS Overlay FS 在 Linux 3.18 开始正式支持,它能够将上层目录(upperdir)和下层目录(lowerdir)进行合并,提供用户一个统一的合并目录(merged)。其合并规则如下: 同名上下层目录合并; 同名的文件,上层覆盖下层; 对下层的文件修改采用写时复制 阅读全文
摘要:
Go 实现了类似于 TCMalloc 的多协程内存分配(malloc)策略,并使用基于标记-清除的三色标记法进行内存垃圾回收(GC)。 TCMalloc TCMalloc( Thread-Caching Malloc)是 Google 对 C 中的 malloc() 和 C++ 中的 operato 阅读全文
摘要:
Unix I/O 模型 select, poll 和 epoll 都是 I/O多路复用技术的一种,I/O多路复用是 Unix I/O模型中的一种。下面简述下 unix 五种 I/O模型(以调用 recvfrom 函数读取数据为例): (1)阻塞式(blocking I/O):应用程序调用 recvf 阅读全文
摘要:
Redis 支持简单的 pub/sub 功能,之所以说其简单,是因为消息是发送即遗忘的(fire and forgot),不会进行持久化,一旦宕机,消息丢失。 客户端可以使用两种方式订阅消息: 频道(channel) 模式(pattern) 频道是最简单和核心的方式,模式是基于频道的模式匹配。例如: 阅读全文
摘要:
概述 LSM树(Log Structure Merge Tree,日志结构合并树)不是树,而是一系列树。日志结构,说的是 SSTable(Sorted String Table,有序字符串表),是一种 Append Only 的日志形式的存储结构。合并树,说的是逐层合并 SSTable Index( 阅读全文
摘要:
[TOC] 什么是服务发现? 服务发现就是一种提供服务发布和查找的服务 ,是基于服务架构(SOA)应用的核心服务,需具备以下关键特性: 1. 注册(Registration),新增服务到服务列表; 2. 目录(Directory),即服务列表; 3. 查找(Lookup),通过服务名找到服务。 服务 阅读全文
摘要:
[TOC] Jenkins 概述 Jenkins 是一款跨平台的持续集成和持续交付(CI/CD, continuous integration and continuous delivery)应用。 它具备以下特性: 1. 易于安装,只需要运行 即可。 2. 易于配置,所有配置都能通过 GUI 进行 阅读全文
摘要:
[TOC] 1. 概述 Amazon Elastic Kubernetes Service (Amazon EKS) 是一项托管服务,可让您在 AWS 上轻松运行 Kubernetes,而无需支持或维护您自己的 Kubernetes 控制层面。 Amazon EKS 跨多个可用区运行 Kuberne 阅读全文