Skip to main content

ByteByteGo架构知识体系

tip

官方网站 : bytebytego

基础

开发工具

开发工具

gRPC工作原理

gRPC工作原理

编码、加密、Token

编码加密Token

面向对象编程的基本支柱

面向对象编程的基本支柱

C++ JAVA Python工作原理

C++ JAVA Python工作原理

Linux文件系统

Linux文件系统

API和SDK

API和SDK

CICD

CICD

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
(事件溯源)
状态变更追踪• 查询服务
• 事件存储
• 读数据库
• 审计需求
• 状态追踪
• 数据一致性
• 完整历史记录
• 状态重建
• 业务追踪

8种分布式系统设计模式

微服务架构

微服务架构

常见的系统设计挑战

常见的系统设计挑战

数据流九大架构

数据流九大架构

多线程六大设计模式

多线程六大设计模式

数据库扩展7大策略

数据库扩展7大策略

6大软件架构模式

6大软件架构模式

缓存架构

缓存架构

算法

9个主导世界的算法

算法名称主要功能核心特点应用场景
排序算法(Sorting)数据排序处理• 基础的排序过程
• 包括冒泡排序、快速排序、归并排序和堆排序
• 解决多种基础问题的算法
• 数据处理
• 搜索优化
• 数据库操作
Dijkstra算法最短路径查找• 图中寻找最短路径
• 使用节点权重计算
• 高效的路径规划
• 地图导航
• 网络路由
• 物流配送
Transformers(变换器)序列数据处理• 神经网络架构
• 上下文学习能力
• 编码解码结构
• 大语言模型
• 自然语言处理
• 机器翻译
链接分析(Link Analysis)网络结构分析• 节点关系分析
• 重要性评估
• 连接模式识别
• 搜索引擎
• 社交网络
• 推荐系统
RSA算法安全加密• 非对称加密
• 公私钥机制
• 高安全性
• 安全通信
• 数字签名
• 身份认证
整数因式分解数值分解• 质因数分解
• 基于数论原理
• 树状分解结构
• 密码学
• 安全协议
• 数据加密
卷积神经网络(CNN)图像处理• 多层神经网络
• 特征提取能力
• 模式识别
• 图像识别
• 人脸识别
• 计算机视觉
霍夫曼编码(Huffman Coding)数据压缩• 变长编码
• 基于频率的树结构
• 无损压缩
• 文件压缩
• 多媒体压缩
• 数据传输
安全哈希算法数据完整性• 单向函数
• 防篡改机制
• 固定长度输出
• SSH/SSL
• 文件校验
• 密码存储

9个主导世界的算法

API

API架构模式

API架构模式

API安全

API安全

设计有效的API

设计有效的API

API网关

API网关

9种API测试

9种API测试

场景

Kafka的5大用例

使用场景描述主要组件/流程
Log Analysis (日志分析)收集和分析各种服务(购物车、订单、支付)的日志数据- 服务生成日志 → Kafka → Elastic → Kibana
- 通过 Agent 采集日志
- 使用 Kibana 进行可视化分析
Data Streaming in Recommendations (推荐系统的数据流)实时收集用户点击流数据用于推荐系统- 用户点击流数据 → Kafka → Flink
- 数据湖存储
- 用户行为聚合分析
- 机器学习模型训练
- 产品信息和用户关系分析
System Monitoring and Alerting (系统监控和告警)监控各个服务的指标并进行实时告警- 服务指标收集 → Kafka → Flink
- 实时监控面板
- 告警系统
- 使用 Metrics Agent 采集监控数据
Change Data Capture (变更数据捕获)捕获数据库的事务日志,实现数据同步- 源数据库 → Kafka
- 通过不同连接器(Connector)同步到:
* ElasticSearch
* Redis
* 副本数据库
System Migration (系统迁移)在系统版本升级时实现平滑迁移- 旧版服务(V1) → Kafka → 新版服务(V2)
- 包含购物车、订单、支付服务
- 迁移前进行数据对比验证
- 支持系统逐步升级

Kafka的5大用例

NoSQL场景

NoSQL场景

Redis场景

Redis场景

十大数据结构日常场景

十大数据结构日常场景

认证场景

认证场景

缓存系统出错

缓存系统出错