wiki

Table of Contents

1. 桌面系统

2. 操作系统理论

3. 数据结构和算法

4. 数据库

4.1. 关系型数据库

4.2. 面向文档的数据库(Document-oriented databases)

4.3. NoSQL

4.4. 全文检索

4.5. TSDB

4.6. 消息中间件

5. DevOps

5.1. 系统运维

基础命令
awksedtarrsynccrontabfind进程管理SSHcurl, lsof,iotop(TODO)
终端复用
tmux
配置
PS1
操作系统
运维 FAQ
系统管理
systemdjournalctl
网络
  • DHCP
  • 查看网卡带宽: ethtool bond0 明细 cat /proc/net/bonding/bond0

5.2. 中间件

5.3. 容器化

相关文档迁移至 云原生专题

5.4. 监控告警

APM:Application Performance Management。一般会分为三大块:

分类 主流方案
Logs(日志) EFK,小场景使用:Loki + Grafana
Traces(链路) Jaeger、SkyWalking
Metrics(指标) Prometheus + Grafana

5.4.1. Prometheus

5.4.2. Grafana

5.4.3. 开源的监控告警平台

5.6. 网络

  • eBPF 技术简介 eBPF 是我见过的 Linux 中最神奇的技术,没有之一,已成为 Linux 内核中顶级子模块,从 tcpdump 中用作网络包过 滤的经典 cbpf,到成为通用 Linux 内核技术的 eBPF,已经完成华丽蜕变,为应用与神奇的内核打造了一座桥梁,在系统跟踪、观测、 性能调优、安全和网络等领域发挥重要的角色。为 Service Mesh 打造了具备 API 感知和安全高效的容器网络方案 Cilium,其底层正 是基于 eBPF 技术

5.7. 存储

企业中不同场景下使用的存储,可以用三种囊括:

  1. 块存储:块设备,比如 U 盘、硬盘等裸磁盘,直接提供给主机或者服务器访问
  2. 文件存储:在块设备基础上添加了文件系统,通过文件系统对外提供存储服务(NAS)
  3. 对象存储:以 REST API (比如业内通用的 AWS S3)的方式对文件对象进行 PUT、GET 操作

开源分布式存储系统:

  • ceph:支持块存储(RBD)、文件系统(符合 POSIX 标准的 CephFS)、对象存储(Object storage,兼容 Amazon S3 协议)
    • 源于 2004 Sage 读博期间的工作,后来贡献给开源设计。经过多年发展(RedHat、OpenStack),已经被大部分云计算厂支持
    • 高性能、高可用、成熟稳定;架构复杂、运维成本高
  • MinIO:新起之秀,主打云原生招牌,只支持对象存储(兼容 S3),原生支持 Kubernetes 部署。部署简单、易运维

6. 程序设计

6.1. 前端

6.2. C++

  • AutoTools:编译工具
  • gcc:编译器
  • Makefile
  • Perf:性能剖析工具,其实只要记得 perf top -p 一个指令就行了
  • Valgrind:Linux 下动态(指令框架)分析工具,主要用来做内存泄露检测。其他的工具还有 VLC,Nvwa 等

6.3. Go

已整理成专题:golang

6.4. Emacs Lisp

6.5. 编码环境

6.6. 其它

7. 成长

First created:
Last updated: 2022-12-01 Thu 14:04
Power by Emacs 27.1 (Org mode 9.6)