Sitemap
A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.
Pages
Page Not Found
Page not found. Your pixels are in another canvas.
Splash Page
Bacon ipsum dolor sit amet salami ham hock ham, hamburger corned beef short ribs kielbasa biltong t-bone drumstick tri-tip tail sirloin pork chop.
Posts
MySQL架构详解
了解 MySQL 的架构是使用 MySQL的重要前提。
Kubernetes 网络模型
集群网络系统是 Kubernetes 的核心部分,但是想要准确了解它的工作原理可是个不小的挑战。
GlusterFS 简介
概述
NFS协议详解
概述 Sun Microsystems 公司于1984年推出了一个在整个计算机工业中被广泛接受的远程文件存取机制,它被称为 Sun 的网络文件系统(Network File System),或者简称为 NFS。该机制允许在一台计算机上运行一个服务器,使对其上的某些或所有文件都可以进行远程存取,还允许其他计算机上...
Rocksdb简介
起源 RocksDB项目是起源于Facebook,是一款作为各种存储介质上的服务器工作负载的存储引擎,最初专注于快速存储(尤其是闪存存储)。它是一个 C++ 库,用于存储任意大小的字节流的键和值。它支持点查找和范围扫描,并提供不同类型的 ACID 保证。 在可定制性和自适应性之间取得平衡。RocksDB 具有高度...
Jekyll minimal Mistakes 搭建博客
jekyll 搭建博客可以很方便的发布在GitHub Pages上面,但是由于 GitHub 官方支持的主题插件比较少,我使用了一个非官方的主题插件——Jekyll Minimal Mistake。
WASM和机器学习
WebAssembly和机器学习
GPU 虚拟化
GPU 多场景混部介绍
algorithm
动态平衡树
欠着。
红黑树详解
概述 二叉树是常见且广泛使用的一种树,面临其可能退化成链表的潜藏缺点,在使用上难免让人担心其效率。为了让降低这种不平衡的可能性,具有自动平衡左右数量分布效果的自平衡二叉搜索树(AVL 树)被发明了出来。
超大规模数据排序和去重
欠着。
ceph
Ceph性能测试方案
为了尽可能的测试出Ceph的性能,设计了如下的测试计划:
Ceph Monitor和Paxos
Paxos算法 1. 角色和名词 proposers: 意为提案者,它可以提出一个提案,提案信息包括提案编号和提议的 value。
Ceph 集群 FAQ 总结
生产环境如何部署Ceph 1. 在kubernetes系统中使用CephCSI时,是Fuse好,还是KernelMod好? 由于容器在技术文件系统层面不存在隔离,而kubernetes中pod运行时kubelet组件 依赖各种fs相关的工具加载和检测文卷,因此Ceph产生系统异常时,会影响整个工作节点。 因此推荐...
Cephfs锁分析
锁的作用 MDS中的锁是为了保护log的正常写入。每次对目录树进行操作前,需要先将目标path中涉及的节点加锁,在内存中修改完目录树(修改方式类似于RCU,即生成一个新节点,push_back到 队列 中)后,将新的目录树信息(只是此条path,不是整个目录树)记录到MDS的journal对象中,journal对...
分布式文件系统CephFileSystem
Metadata Server的启动流程
Ceph Monitor 详解
Ceph Monitor 架构分析
Ceph快照详解
Ceph的快照与其他系统的快照一样,是基于COW(copy-on-write)实现的。其实现由RADOS支持,基于OSD服务端——每次做完快照后再对卷进行写入时就会触发COW操作,即先拷贝出原数据对象的数据出来生成快照对象,然后对原数据对象进行写入。
Ceph简介
什么是分布式存储 与集中式存储相反,分布式存储通常采用存储单元集群的形式,并具有在集群节点之间进行数据同步和协调的机制。分布式存储最初是由Google提出的,其目的是通过廉价服务器解决大规模,高并发情况下的Web访问问题。
interview
C++面试题
C++ 基础
Golanggmp调度详解
基于CSP并发模型开发了GMP调度器,其中 G (Goroutine) : 每个 Goroutine 对应一个 G 结构体,G 存储 Goroutine 的运行堆栈、状态以及任务函数。 M (Machine) : 对OS内核级线程的封装,数量对应真实的CPU数(真正干活的对象)。 P (Processor): 逻...
Golang 内存管理
Go语言的内存分配器采用了跟 tcmalloc 库相同的多级缓存分配模型,该模型将引入了线程缓存(Thread Cache)、中心缓存(Central Cache)和页堆(Page Heap)三个组件分级管理内存。
Golang内存管理之gc
Golang在GC的演进过程中也经历了很多次变革,Go V1.3之前的标记-清除(mark and sweep)算法,Go V1.3之前的标记-清扫(mark and sweep)的缺点
Golang 编译器分析
概述
Golang面试题
汇总所有常见的Golang面试问题内容,包含部分源码
Linux 进程管理
进程调度
Mysql面试题
MySQL面试题 Mysql 基本架构
Redis面试题
Redis 面试题
gccc如何处理static变量初始化
局部/全局变量 局部变量在C++中的使用要频繁的多,并且功能也强大的多,但是这些强大功能的背后无疑会引入问题的复杂性,不想让马儿吃草只想让马儿跑的事大家表乱想。这些初始化的实现就需要C++的库执行更多的动作来完成,虽然各种编译器都是像如今开展的“学雷锋”活动一样干了很多好事都没有留名,但是作为一个程序员,还是要对...
iptables 简介
iptables是运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的处理和转发。通常iptables需要内核模块支持才能运行,此处相应的内核模块通常是Xtables。netfilter/iptables 组成Linux平台下的包过滤防火墙,可以代替昂贵的商业防火墙解决方案,...
操作系统面试题
Linux 面试题
计算机网络面试题
计算机网络面试题汇总整理
kubernetes
Containerd 详解
没思路以后补。
Kubrenetes API Server详解
没时间整理,列一些知识点在这里,以后整理。
Kubrenetes 控制器详解
还没想好什么时候写,先欠着吧。
Kubernetes Etcd详解
etcd 是一种开源的分布式统一键值存储,用于分布式系统或计算机集群的共享配置、服务发现和的调度协调。etcd 有助于促进更加安全的自动更新,协调向主机调度的工作,并帮助设置容器的覆盖网络。
Kubernetes 网络模型
在 Kubernetes 中,调度 (scheduling) 指的是确保 Pod 匹配到合适的节点, 以便 kubelet 能够运行它们。 调度的工作由调度器和控制器协调完成。
Kubernetes 调度器详解
在 Kubernetes 中,调度 (scheduling) 指的是确保 Pod 匹配到合适的节点, 以便 kubelet 能够运行它们。 调度的工作由调度器和控制器协调完成。
Kubernetes 存储详解
概述 由于容器默认情况下rootfs系统树没有一个与之对应的存储设备,因此可以认为容器中任何文件操作都是临时性的,这样的设计带来了两个问题,其一是如果容器因为某些原因被kubelet重启后,会丢失这些文件;其二是不同的容器之间无法共享文件。为了解决上述问题,Kubernetes 设计了卷(Volume) 这一抽象...
Kubernetes 简介
概述 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
Kubrenetes 设备插件详解
简介 Kubernetes 提供了一个 设备插件框架, 你可以用它来将系统硬件资源发布到 Kubelet。
Kubernetes Istio详解
Service Mesh概述