最新文章
-
k8s 从头实现加强版 statefulSet - 上篇
k8s 从头实现加强版 statefulSet - 上篇 这是为 mcyouyou dev team 实现 unicore 的系列笔记,其中关于云原生的内容基本上业务无关,通用性很强,提取出来作为笔记。 上篇实现原版 sts 的基本内容,下篇会实现一些高级实用特性。 背景 StatefulSet 是
-
linux CFS 调度器及应用扩展
linux CFS 调度器及应用扩展 简介 CFS 完全公平调度器是 linux 处理普通任务的默认调度器。其主要理念是完全公平理想模型,即有 n 个任务,那么每个调度周期内每个任务都应当获得 1/n 的运行时间。考虑到权重,实际每个任务运行的时间会乘上权重(自己的权重/全局权重和)。 实现上,CF
-
Golang 设计模式:装饰器模式
Golang 设计模式:装饰器模式 理论 在设计模式上,人们已经找了很多方式尝试去替代继承以回避其缺点。继承作为一种对对象添加额外职责和属性的方法,具有一个显而易见的缺点,就是继承会引入额外的静态特征,特别是在子类数量膨胀的情况下。 例如,针对一个视频的处理工作,可以分为转码和编辑两部分,而转码工作
-
计算机网络面试问题笔记
计算机网络面试问题笔记 网络模型 TCP/IP 模型? 从上到下分为四层: 应用层:直接为用户提供的各种服务,定义了应用进程间的通信规则,如 HTTP、FTP 等 传输层:为应用层实体提供端到端、通用的通信功能,保证了数据包的顺序传送及数据的完整性。协议包括 TCP、UDP 等。 网络层:解决主机到
-
操作系统面试问题笔记
操作系统面试问题笔记 内核态和用户态 为什么要区分内核态和用户态? 用户不应当直接执行受限操作,如 I/O 请求。内核态只能由操作系统执行,可以执行特权操作。用户程序必须通过系统调用来执行这些特权操作,os 执行前会判断进程是否有权限执行相应的指令。 什么时候会陷入内核态? 系统调用 trap 、中
-
Linux 内存管理笔记
Linux 内存管理笔记 地址 虚拟地址 内存是比较宝贵的资源。为了充分利用和管理系统内存资源,linux 采用虚拟内存管理技术,让每个进程都有 4G (32位)的互不干涉的虚拟空间。进程初始化分配和操作都基于虚拟地址,只有当进程需要实际访问内存资源的时候才会建立虚拟地址和物理地址的映射,调入物理内
-
Golang GMP 并发模型笔记
Golang GMP 并发模型笔记 以前看过,但是居然没有记笔记,遂补 背景 线程与协程首先有所区别。一般语义中,线程是: 操作系统的最小调度单元 创建销毁和调度由内核完成,在此期间需要切换内核态 而一般语义中的协程是: 又称为用户级线程 与线程的映射关系是 M : 1 创建销毁和调度在用户态完成
-
预写日志 Write Ahead Log 笔记
预写日志 Write Ahead Log 笔记 概念 预写日志 WAL 是数据库系统和分布式系统元数据同步中采用的一种手段,主要用于确保数据操作的原子性和持久性。 数据库系统使用 WAL 时,所有的修改在提交之前都要先写入 log 文件中,这样如果机器在执行某些操作的时候断电了,我们还可以检查 lo
-
kubernetes 核心内容梳理
kubernetes 核心内容梳理 正向梳理下 k8s 的比较重要的基础内容 背景 k8s 的时代背景:物理机 -> 虚拟机 -> 容器 物理机缺点: 部署慢 成本高 资源浪费 扩展和迁移成本高 虚拟机优点: 易部署 资源池 资源隔离 易扩展 虚拟机缺点:每台虚拟机都要安装操作系统,占用资源 容器优
-
k8s 调度器的调度流程和算法笔记
k8s 调度器的调度流程和算法笔记 调度总体设计 k8s 作为一个容器编排引擎,对容器编排和调度是其核心功能。k8s 中用于调度的核心组件是 kube-scheduler。 kube-scheduler 主要分为几大组件: Policy:调度策略,目前支持配置文件、命令行参数、ConfigMap 去