Docker 【 技术架构(2)】

接上文:Docker 【 技术架构(1)】-CSDN博客


一、冷热分离架构

遇到的问题:某些数据被频繁访问(如热门商品),反复查询数据库浪费资源。

解决方案缓存热点数据

缓存层级

  • 本地缓存:Memcached(单机)

  • 分布式缓存:Redis(集群)

缓存常见问题

问题 描述 解决方案
缓存穿透 查询不存在的数据,直接打到DB 布隆过滤器
缓存击穿 热点key突然失效,大量请求打到DB 互斥锁、逻辑过期
缓存雪崩 大量key同时失效 随机过期时间、多级缓存
热点集中失效 某时段大量缓存同时过期 分散过期时间

🌰 例子:学校门口的奶茶店,把最受欢迎的珍珠奶茶提前备好(缓存),不用每次都现做。


二、垂直分库架构

遇到的问题:单库数据量太大,查询越来越慢。

解决方案按业务拆分数据库

分库策略

  • 评论数据按商品ID hash路由

  • 支付记录按小时创建表

  • 确保每张实时操作的表数据量足够小

此时已可称为"分布式数据库" ,由多个组件协作:

  • 分库分表管理 → MyCat

  • SQL解析 → 单机数据库

  • 读写分离 → 网关+消息队列

  • 结果汇总 → 数据库接口层

相关软件 :Greenplum、TiDB、PostgreSQL XC、华为LibrA

🌰 例子:图书馆把书按类别分到不同房间(用户/商品/交易),找书时先去对应的房间,效率大幅提升。


三、 微服务架构

遇到的问题:团队壮大,业务复杂,代码耦合严重,一个模块出问题影响全局。

解决方案微服务化

特点

  • 不同团队独立维护自己的服务

  • 服务间通过 Gateway、消息总线 通信

  • 公共业务(如用户管理)可抽离为公共服务

相关软件 :Spring Cloud、Dubbo

🌰 例子 :大公司把业务分成独立事业部,用户部、商品部、交易部各自运营,通过内部系统协作。


四、容器编排架构

遇到的问题

  • 资源利用率低,很多资源应对短时高并发,平时闲置

  • 需要动态扩缩容

  • 开发/测试/生产环境需要隔离

  • 运维工作量巨大

核心概念

  • Docker:集装箱,把应用+依赖打包成镜像

  • K8S:货船,根据集装箱大小、货物情况合理组织部署

集群划分

  • 生产集群:线上正式环境

  • 研发集群:通过命名空间隔离不同应用

相关软件 :Docker、Kubernetes

相关推荐
笨鸟飞不快11 小时前
从 MVC 到 DDD:一次真实的渐进式迁移实录
后端·架构
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
锋行天下1 天前
我试图优化 Vite 的拆包,结果首屏慢了 10 倍
前端·vue.js·架构
小鼻子的猫1 天前
独立开发 30 天:2.5 万行代码,23 个 Bug,5 次重构——一个 AI 社区的诞生
架构
咖啡八杯1 天前
GoF设计模式——命令模式
java·设计模式·架构
candyTong1 天前
阿里开源 AI Code Review 工具:ocr review 的执行链路解析
javascript·后端·架构
Patrick_Wilson2 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
doiito2 天前
【Agent Harness】TPS的“自工程完结”教会了我一件事:别把Bug留给下一道工序
架构·rust
烬羽2 天前
中英文 token 数量差一倍?两段 JS 代码搞懂 LLM 底层是怎么"读"文字的
javascript·程序员·架构