文章目录
- 开发者专业术语大词典(纯记录版|可收藏慢慢看)
-
- 0)通用基础
- 1)架构风格与分层
- 2)API 与通信
- 3)安全与鉴权
- 4)数据库与存储
- 5)缓存与消息
- 6)分布式系统常识
- 7)性能优化与系统行为
- 8)工程实践与协作
- 9)测试与质量
- 10)运维、云与容器
- 11)编程语言与运行时
- 12)数据工程(可选但常见)
- 13)速查清单(A-Z 迷你词条)
- 14)如何使用这份词典
开发者专业术语大词典(纯记录版|可收藏慢慢看)
这篇是独立于任何项目的术语博客:把软件开发里高频出现的名词按主题整理,给出简明释义 + 常见别称/易混点 + 一句话应用场景。遇到不懂的词,就当词典翻一眼。
0)通用基础
- 算法复杂度(Time/Space Complexity):用 O() 表示算法随数据量增长的时间/空间开销,比如 O(n log n)。
- 并发 / 并行(Concurrency / Parallelism):并发是“同时在处理很多事的感觉”,并行是真的同时执行。
- 阻塞 / 非阻塞 / 异步:阻塞=调用者原地等待;非阻塞=立刻返回但可能需要不断询问;异步=结果准备好后再通知你。
- 吞吐 / 延迟 / 抖动(Throughput / Latency / Jitter):单位时间处理量 / 单次操作耗时 / 延迟的波动。
- 带宽 / RTT:网络能承载的速率 / 往返一次的时间。
- IO 密集 / CPU 密集:瓶颈在磁盘/网络还是在算力。
- 序列化(Serialization):把对象变成可传输/存储的字节;反过来叫反序列化。
- 字节序(Endianness):大端/小端表示多字节整数的顺序。跨平台协议通常用大端。
- 编码(UTF-8/UTF-16):字符→字节的规则;UTF-8最通用。
1)架构风格与分层
- 单体(Monolith):所有功能在一个应用里,部署简单;缺点是体量大后难以演进。
- 微服务(Microservices):按业务拆成多个小服务,独立部署;优点灵活,成本是复杂度飙升。
- SOA:面向服务的架构,是微服务的“老前辈”。
- 分层架构(Layered):UI/接口层 → 业务层(Service)→ 数据访问层(DAO/Repository)。
- 六边形/端口与适配器(Hexagonal / Ports & Adapters):核心领域与外部适配层隔离,方便替换外部依赖。
- 领域驱动设计(DDD):围绕领域模型组织代码与边界(界限上下文 Bounded Context)。
- 事件驱动架构(EDA):用消息(Event)在服务间解耦;常配合消息队列。
- CQRS:读写分离的架构模式,写侧负责变更,读侧为查询做优化。
- 反腐层(ACL):老系统与新系统之间的隔离层,避免“坏味道”侵入新域。
2)API 与通信
- REST:基于 HTTP 的风格,用资源(URI)+ 动词(GET/POST/PUT/DELETE)。
- RPC / gRPC:像调用本地函数一样调用远端方法;gRPC 用 HTTP/2 + Protobuf。
- GraphQL:客户端声明需要哪些字段,服务器按需返回;减少“过多/不足”数据。
- WebSocket / SSE:持续连接的双向通信 / 服务器单向推送。
- 状态码(HTTP Status):2xx成功、3xx重定向、4xx客户端问题、5xx服务器问题。
- 幂等(Idempotent):同一个请求重复多次,结果一样(如 GET、PUT 通常幂等)。
- 一致性语义:至少一次、至多一次、精确一次投递(消息系统常见术语)。
- 契约(Contract):接口规范(入参/出参/错误码)。契约优先开发可以并行推进前后端。
- 版本化(Versioning):URL 里放 /v1 或者用 Header/字段标识,以便兼容升级。
- 节流/限流(Throttling/Rate Limiting):限制请求速率,保护服务;常见算法漏桶/令牌桶。
- 熔断 / 降级 / 重试(Circuit Breaker / Fallback / Retry):故障自我保护与恢复策略;重试要配指数退避。
数据格式与序列化
- JSON / XML / YAML / CSV:文本格式;JSON 最主流。
- Protobuf / Avro / Thrift:二进制高效序列化;有Schema 演进能力。
- Schema Registry:存放数据模式(Schema),为演进和兼容保驾护航。
3)安全与鉴权
- 认证 vs 授权(AuthN vs AuthZ):你是谁 vs 你能做什么。
- Token / JWT:登录后得到的一串凭证;JWT 是带签名的自包含 Token。
- OAuth 2.0 / OIDC:授权标准 / 在 OAuth 上加“登录身份”的标准(获取用户信息)。
- SSO(单点登录):一次登录,多个系统通用。
- CSRF / CORS / XSS / SQL 注入 / SSRF / RCE:常见 Web 攻击;对应防护:SameSite、预检请求、转义输出、参数化查询、出网限制等。
- 密码哈希:bcrypt / scrypt / Argon2(不可逆+慢),别存明文;Salt(每个密码随机盐)与 Pepper(服务端额外密钥)。
- HMAC / 签名:校验消息完整性与来源。
- TLS/SSL / 证书 / CA:加密传输与身份验证。
- 最小权限原则(Least Privilege):只给必须的权限;数据库、云账号、系统用户都适用。
- 零信任(Zero Trust):默认不信任任何网络边界,所有访问都需校验。
4)数据库与存储
- OLTP / OLAP:联机事务处理(应用数据库)/ 联机分析处理(报表、数据仓库)。
- ACID:事务的四特性:原子性、一致性、隔离性、持久性。
- 事务隔离级别:读未提交/读已提交/可重复读/可串行化(InnoDB 默认可重复读 + MVCC)。
- MVCC:多版本并发控制,读写互不阻塞的基础。
- 锁(行锁/表锁/间隙锁):保护并发数据;SELECT … FOR UPDATE 是写锁查询。
- 范式化 / 反范式化:减少冗余 vs 为性能做冗余。
- 索引(B+树 / 哈希 / 全文 / 组合索引):加速查询;组合索引等值在前范围在后。
- 执行计划(EXPLAIN)/慢查询日志:性能诊断的入口。
- 分区 / 分表 / 分片(Sharding):拆大表或把数据分布到不同库/节点。
- 复制(主从、半同步、多主):高可用与读扩展。
- 一致性模型:强一致、最终一致、读后写一致、单调读。
- 2PC/3PC / Saga:分布式事务策略;业务上常用 Saga(一系列本地事务 + 补偿)。
- LSM-Tree / B-Tree:两类底层索引结构(NoSQL 常用 LSM,关系型常用 B+Tree)。
- 数据变更捕获(CDC):从 binlog 流式读取变更,做同步/审计。
- 键集分页(Keyset Pagination):用“上一页最后一个键”做游标,替代慢的 OFFSET。
5)缓存与消息
- 缓存(Cache):提高读性能;位置有本地、近端(如 Redis)、CDN。
- TTL / 过期策略:缓存生命周期;淘汰算法常见 LRU / LFU / FIFO。
- 写穿 / 写回 / 写旁路(Write-Through / Write-Back / Write-Around):更新数据时如何与缓存协同。
- 缓存一致性:删缓存先后、双写不一致等问题;可用延时双删、消息通知、版本号控制。
- 布隆过滤器(Bloom Filter):用很小内存判断“可能存在/一定不存在”;常用来拦截无效请求。
- 消息队列(MQ):异步解耦与削峰填谷;Kafka/RabbitMQ/RocketMQ 等。
- 生产者 / 消费者 / 消费组:消息角色与并行消费模型。
- 回压(Backpressure):下游处理不过来时让上游减速或丢弃。
- Exactly-once:严格一次语义,通常通过幂等 + 去重 + 事务来接近实现。
6)分布式系统常识
- CAP 定理:网络分区发生时,一致性与可用性不可兼得。
- PACELC:没有分区时也要权衡延迟与一致性。
- Raft / Paxos:分布式一致性协议,Raft 更易理解;用于副本选主与日志复制。
- 选主(Leader Election):定出“领导者”负责写入,避免脑裂。
- 服务发现(Service Discovery):在动态环境里找到目标服务(如 Consul、Eureka)。
- 负载均衡(Load Balancing):在多个实例间分配请求(轮询、最少连接、一致性哈希)。
- 健康检查 / 存活/就绪探针:判断实例是否可用、是否可接流量。
- 灰度 / 金丝雀 / 蓝绿发布:小流量试运行 / 两套环境切换,降低发布风险。
- 雪花 ID(Snowflake)/ ULID / UUID:全局唯一 ID 方案,兼顾有序性与分布式生成。
- CRDT:能在无中心、并发更新的场景自动合并的数据结构。
7)性能优化与系统行为
- 热点 / 冷数据:频繁访问的数据与很少访问的数据。
- 批处理(Batching):把很多小请求合成一个大请求,减少开销。
- 零拷贝(Zero-Copy):数据在内核/用户态间不复制,减少 CPU 与缓存压力。
- IO 多路复用(epoll/kqueue/IOCP):高并发网络的基础。
- 分页 / 缓存命中率:操作系统内存管理的关键指标。
- 矢量化:一次对一组数据做同样的运算,利用 SIMD 加速。
- 火焰图(Flame Graph):性能分析可视化,显示CPU时间都花在哪。
8)工程实践与协作
- Git 基本流:main/develop/feature 分支;或 trunk-based(只 main + 短分支)。
- Rebase vs Merge:前者重写历史更线性;后者保留分叉历史。
- 代码评审(Code Review):提高质量与知识共享。
- 静态分析 / Lint / 格式化:编译前发现问题,统一代码风格。
- 语义化版本(SemVer):MAJOR.MINOR.PATCH;破坏性变更才升 MAJOR。
- 约定式提交(Conventional Commits):feat:、fix:、docs: 等前缀,利于自动生成变更日志。
- CI/CD:持续集成/持续交付(或部署);流水线自动化构建、测试、发布。
- Artifact / 包仓库:构建产物(Jar/Docker 镜像等)的存储与分发。
- Feature Flag:特性开关,灰度上线与 A/B 实验利器。
- 技术债(Tech Debt):为了赶进度做的短期方案,后续要偿还(重构/补测试)。
9)测试与质量
- 单元测试 / 集成测试 / 端到端(E2E):粒度从小到大。
- 测试金字塔:单元测试多、集成适中、E2E 少而关键。
- Mock / Stub / Fake:测试替身;不同程度地模拟依赖。
- 回归测试:防止旧 Bug 重现。
- 性能测试 / 压力测试 / 容量测试:关注吞吐、延迟、拐点与资源上限。
- 混沌工程(Chaos Engineering):在可控范围内制造故障,验证韧性。
- 可观察性(Observability)三件套:日志(Logs)、指标(Metrics)、链路追踪(Tracing)。
- SLI/SLO/SLA:指标/目标/协议;例如:月度可用性 99.9%。
10)运维、云与容器
- Docker / 镜像 / 容器:打包运行环境与应用。
- Kubernetes(K8s):容器编排(调度、扩缩容、滚动发布)。
- Deployment / StatefulSet / DaemonSet:K8s 不同工作负载类型。
- Helm:K8s 包管理。
- Service Mesh(Istio/Linkerd):把流量治理(熔断、限流、可观测)放到 Sidecar 代理里。
- IaaS / PaaS / SaaS:基础设施/平台/软件即服务。
- 基础设施即代码(IaC):用代码管理云资源(Terraform、Pulumi)。
- 自动扩缩容(HPA):按指标自动加减实例。
- 备份与恢复(Backup/Restore):全量 + 增量;演练很重要。
- 合规与审计:满足法规(例如数据保留、访问审计、加密要求)。
11)编程语言与运行时
- 编译型 / 解释型 / JIT:生成机器码 / 逐行执行 / 运行时边编译边执行。
- 垃圾回收(GC):自动回收不用的内存;有 STW(Stop-The-World)停顿。
- 栈 / 堆:自动管理的小内存区域 / 动态分配的大内存区域。
- 不可变(Immutable):创建后不再修改;并发更安全。
- 泛型 / 反射:类型参数化 / 运行时检查与操作类型信息。
- 协程 / async-await:轻量并发原语,写同步代码的样子做异步事。
- RAII:构造获得资源、析构自动释放(C++ 常见)。
- Copy-on-Write:多个引用共享只读数据,写时再复制。
12)数据工程(可选但常见)
- ETL / ELT:抽取-转换-加载 / 抽取-加载-再转换。
- 数据湖 / 仓库:湖更原始开放,仓库规范化更适合分析。
- 星型/雪花模型:维度建模方式。
- 列式存储(Parquet/ORC):分析场景下压缩好、扫描少。
- 批处理 / 流处理:按时间批次 vs 实时不断地处理。
- 水位线 / 窗口(Windowing):流式计算确定“算到哪了”和如何聚合时间片。
- Delta/湖格式:为数据湖提供 ACID 与时光回溯(Time-Travel)。
13)速查清单(A-Z 迷你词条)
- A/B Test:两种方案对照实验。
- Adapter / Facade / Decorator / Strategy / Observer:常见设计模式。
- BASE:基本可用、软状态、最终一致(与 ACID 对应的分布式理念)。
- Bloom Filter:高效判断“不存在”。
- Canary:金丝雀发布,小流量试运行。
- Checksum / CRC:校验数据是否被破坏。
- Data Catalog:数据资产的“目录与说明书”。
- Edge Cache / CDN:把内容推到离用户更近的边缘节点。
- Feature Toggle:特性开关。
- Gossip:去中心化成员传播协议。
- Idempotency Key:用唯一键保证重复请求只执行一次。
- Kappa / Lambda 架构:流批统一 / 流批结合的数据处理架构。
- Monotonic Clock:单调时钟,避免系统时间跳变导致的计时错误。
- N+1 查询:循环里频繁查库导致性能差的问题。
- Outbox Pattern:把要发的消息写到“发件箱”表,与事务同成功,再异步投递 MQ。
- Panicking / Fail-Fast:尽早暴露失败,避免隐藏错误。
- Quorum:决多数(如多数派确认写入)。
- Rate Limit:限流,常用令牌桶。
- Shadow Traffic:影子流量,线上真实流量复制到新版本做验证。
- Time-to-Live(TTL):数据/缓存过期时间。
- ULID:按时间可排序、URL 友好的唯一 ID。
- Vector Clock:并发版本的偏序关系表示。
- Write-Amplification:写放大,存储系统优化时关注的指标。
- YAGNI / KISS / DRY:不要做没必要的事 / 保持简单 / 不要重复自己。
- Zero-Downtime:无中断发布或迁移。
14)如何使用这份词典
- 当备忘录:遇到术语,先看“一句话释义”。
- 当导航:按主题找深入方向(比如安全/分布式/数据库)。
- 当需求清单:写设计文档时,把涉及到的术语挑出来,确保含义一致、边界清楚。
评论前必须登录!
注册