名词百科
什么是容器化(Docker / K8s)?
一句话定义
容器化是把应用及其依赖打包成可移植的镜像,在隔离环境中运行的技术,Docker 是代表性工具;K8s(Kubernetes)是管理大量容器的编排平台,负责调度、扩缩容与自愈。
它到底是什么
容器解决的是环境不一致问题:开发机能跑、服务器跑不起来,通常差在依赖版本与系统配置。镜像把这套环境固化下来,到哪里跑都一样。
K8s 解决的是容器太多管不过来:哪个节点还有资源、挂了怎么自动重启、流量怎么分、怎么滚动升级。单机跑几个容器不需要 K8s。
怎么运作的
镜像与容器:镜像分层构建,容器是镜像的运行实例。启动秒级,资源开销远小于虚拟机。
编排:声明期望状态(要几个副本、资源多少、健康检查怎么配),由平台持续把实际状态拉向期望状态。
滚动升级与回滚:新版本逐个替换旧实例,失败自动回滚。这是容器化最直接的生产收益。
代价:学习曲线陡、网络与存储模型复杂、日志与监控需要额外方案。小团队直接上 K8s,运维复杂度往往超过收益。
容易混的几个概念
- 虚拟机:虚拟化整个操作系统,隔离更强、启动更慢。
- 容器编排:K8s 的职责,与容器本身不同。
- 镜像仓库:存放镜像的服务,与容器运行时不同。
- Serverless 容器:无需管理节点的容器服务,介于两者之间。
常见问题
什么规模需要 K8s?
多服务、多环境、需要频繁发布与弹性扩容时才需要。单体应用或少量服务用容器加简单部署脚本即可,K8s 的运维成本在小规模下不划算。
容器里的数据会丢吗?
容器删除后内部文件确实会丢。持久化数据必须挂载外部卷或使用对象存储,数据库不建议把数据目录放在容器内部。
E 后端架构 · 同组词条
云服务器云服务器是可按需租用的虚拟计算资源;域名是网站的访问地址;带宽决定单位时间内能传输的数据量。三者构成网站运行的基础资源。ServerlessServerless(无服务器计算)是由平台自动分配运行资源、按实际调用计费的模式,代表形态是函数计算与云开发。开发者只写业务代码,不管理服务器。负载均衡负载均衡是把请求分发到多台服务器的机制,用于提升处理能力与可用性;CDN 是把静态资源缓存到离用户更近的节点,用于缩短访问延迟。两者都在分散压力,但层级不同。分布式分布式是把一个系统拆到多台机器上协同工作,以突破单机容量上限;集群是多台机器运行同一套服务,对外表现为一个整体。分布式强调分工,集群强调冗余。高并发高并发指系统在同一时间承受大量请求的能力,通常用每秒请求数、并发连接数、响应时间来衡量。它考验的是系统在压力下的稳定性,而不是单次请求的速度。定时任务定时任务是按预设时间自动执行的程序,用于对账、报表、清理、同步等周期性工作;日志是程序运行时产生的记录,用于排查问题、审计与监控。多租户多租户架构是一套系统同时服务多个客户(租户),各租户的数据相互隔离、配置互不影响。它是 SaaS 能把成本压低的根本原因。系统集成系统集成是把多个独立系统连接起来协同工作的过程,核心是接口对接与数据互通。它解决的是「各系统都各自能用,但数据不通」的问题。