ByteByteGo架构知识体系
tip
官方网站 : bytebytego
基础
开发工具
gRPC工作原理
编码、加密、Token
面向对象编程的基本支柱
C++ JAVA Python工作原理
Linux文件系统
API和SDK
CICD
CICD管道
系统观察性
系统设计缩写词
高级开发人员路线图
悲观锁与乐观锁
代码交付流程
架构
8种分布式系统设计模式
模式名称 | 核心功能 | 主要组件 | 应用场景 | 优势 |
---|---|---|---|---|
Ambassador Pattern (大使模式) | 代理和管理服务通信 | • 应用代码 • 代理层 • 日志服务 • 监控服务 • 重试服务 | • 微服务架构 • 服务网格 • 跨平台通信 | • 集中管理横切关注点 • 简化客户端逻辑 • 提高可维护性 |
Circuit Breaker Pattern (断路器模式) | 防止系统级联失败 | • Service A • Circuit Breaker • Service B | • 微服务调用 • 分布式系统 • 故障恢复 | • 快速失败 • 防止级联故障 • 系统自我保护 |
CQRS Pattern (命令查询责任分离) | 分离读写操作 | • 命令服务 • 查询服务 • 写数据库 • 读数据库 | • 高并发系统 • 复杂业务领域 • 性能优化 | • 优化读写性能 • 灵活的数据模型 • 可独立扩展 |
Sharding (分片模式) | 数据分区存储 | • 单体数据库 • 多个分片 | • 大规模数据存储 • 高性能要求 • 水平扩展 | • 提高性能 • 增强可扩展性 • 支持大数据量 |
Sidecar Pattern (边车模式) | 服务功能扩展 | • 主服务容器 • Sidecar容器 • Pod | • 服务网格 • 容器化环境 • 功能增强 | • 解耦辅助功能 • 简化主服务 • 便于维护 |
Pub/Sub (发布订阅模式) | 消息通信解耦 | • 发布者服务 • 主题 • 订阅者服务 | • 事件驱动架构 • 异步通信 • 消息广播 | • 松耦合 • 可扩展性好 • 异步处理 |
Leader Election (领导者选举) | 高可用性保证 | • 领导节点 • 跟随节点 • 选举机制 | • 分布式协调 • 高可用系统 • 主备切换 | • 避免单点故障 • 自动故障转移 • 系统可靠性 |
Event Sourcing (事件溯源) | 状态变更追踪 | • 查询服务 • 事件存储 • 读数据库 | • 审计需求 • 状态追踪 • 数据一致性 | • 完整历史记录 • 状态重建 • 业务追踪 |
微服务架构
常见的系统设计挑战
数据流九大架构
多线程六大设计模式
数据库扩展7大策略
6大软件架构模式
缓存架构
算法
9个主导世界的算法
算法名称 | 主要功能 | 核心 特点 | 应用场景 |
---|---|---|---|
排序算法(Sorting) | 数据排序处理 | • 基础的排序过程 • 包括冒泡排序、快速排序、归并排序和堆排序 • 解决多种基础问题的算法 | • 数据处理 • 搜索优化 • 数据库操作 |
Dijkstra算法 | 最短路径查找 | • 图中寻找最短路径 • 使用节点权重计算 • 高效的路径规划 | • 地图导航 • 网络路由 • 物流配送 |
Transformers(变换器) | 序列数据处理 | • 神经网络架构 • 上下文学习能力 • 编码解码结构 | • 大语言模型 • 自然语言处理 • 机器翻译 |
链接分析(Link Analysis) | 网络结构分析 | • 节点关系分析 • 重要性评估 • 连接模式识别 | • 搜索引擎 • 社交网络 • 推荐系统 |
RSA算法 | 安全加密 | • 非对称加密 • 公私钥机制 • 高安全性 | • 安全通信 • 数字签名 • 身份认证 |
整数因式分解 | 数值分解 | • 质因数分解 • 基于数论原理 • 树状分解结构 | • 密码学 • 安全协议 • 数据加密 |
卷积神经网络(CNN) | 图像处理 | • 多层神经网络 • 特征提取能力 • 模式识别 | • 图像识别 • 人脸识别 • 计算机视觉 |
霍夫曼编码(Huffman Coding) | 数据压缩 | • 变长编码 • 基于频率的树结构 • 无损压缩 | • 文件压缩 • 多媒体压缩 • 数据传输 |
安全哈希算法 | 数据完整性 | • 单向函数 • 防篡改机制 • 固定长度输出 | • SSH/SSL • 文件校验 • 密码存储 |