开发者笔记
Last updated on August 21, 2024 pm
软开部署常见名词
实例(Instance)
实例通常指的是某个软件应用的具体运行实体。在云环境或服务器环境中,一个实例可以理解为一个正在运行的软件应用程序副本。例如,一个Web服务器软件(如Apache或Nginx)的一个实例,就是该软件在特定配置下运行的一个进程。在云服务提供商中,启动一个虚拟机或容器也常被称为创建一个实例,每个实例都有自己的运行环境和资源分配,可以独立运行和管理。
容器(Container)
容器是一种轻量级、可移植的软件打包技术,它将应用程序及其所有依赖(如代码、运行时环境、库、配置文件等)封装在一个独立的执行环境中。容器与宿主机共享操作系统内核,但对应用程序来说,它们就像是在独立的机器上运行一样。容器提供了高效的资源利用和一致的运行环境,使得应用可以在任何支持容器的系统上正常运行,极大地提升了软件部署的灵活性和可移植性。
容器镜像(Container Image)
容器镜像是容器的只读模板,包含创建和运行容器所需的所有文件和配置。镜像定义了容器的初始状态,包括操作系统、用户添加的文件和应用程序以及各种元数据。当你创建一个新的容器时,实际上是基于某个镜像的快照来创建的。镜像可以通过 Dockerfile 等描述文件构建,并上传到镜像仓库(如Docker Hub或私有仓库)以便分享和复用。镜像的使用简化了软件部署过程,确保了部署的一致性和可重复性。
集群(Cluster)
在计算机科学中,集群是指一组互联的计算机,它们作为一个单一系统协同工作,提供高可用性、负载均衡或计算能力的扩展。在软件部署场景中,容器集群特别指由多个容器主机(或称为节点)组成的集合,这些节点通过某种编排工具(如Kubernetes(又名K8s)或Docker Swarm)统一管理和调度。集群允许容器在多个节点间自动分布、扩展和故障恢复,为服务提供了高可用性和弹性伸缩的能力。通过容器编排工具,管理员可以轻松部署、管理和扩展整个应用的服务网格。
负载均衡(LB)
LB 是 "Load Balancer"(负载均衡器)的缩写,在计算机网络和系统架构中,负载均衡器是一种设备或软件服务,它的主要职责是将进入的网络流量或者服务请求合理地分配到后端的多台服务器上,以此达到优化资源使用、最大化吞吐量、提高系统响应速度和避免单点过载的目的。在滚动部署中提到的“智能LB”,强调的是负载均衡器的智能化特性,这些特性可能包括:
1.动态配置更新:自动识别后端服务实例的变化,比如在滚动部署过程中新增或移除服务器节点,LB能实时调整其路由规则,确保流量被正确地导向至可用的服务实例。
2.自动回滚支持:若检测到新部署的服务版本有问题,智能LB可以自动或配合自动化系统迅速将流量切换回之前的稳定版本,减少故障对用户/客户的影响。
3.权重分配:在部署过程中,根据需要可以动态调整不同版本服务实例之间的流量比例,比如在金丝雀部署中,智能LB可以将少量流量导向新版本进行测试,而大部分流量依旧由稳定版本处理。
除此之外,还包括高级路由策略、健康检查等特性。
吞吐量(Throughput)
吞吐量是一个衡量系统性能的重要指标,它表示系统在单位时间内处理请求、传输数据或完成任务的数量。简单来说,吞吐量展现了系统的工作效率,单位可以是每秒请求数(Requests Per Second, RPS)、每秒事务数(Transactions Per Second, TPS)、每秒字节数(Bytes Per Second, BPS)等,具体依应用场景而定。在不同的领域,吞吐量有不同的意义:
网络通信:指的是网络在单位时间内能够传输的数据量,如每秒钟通过网络接口传输的字节数。
数据库:指的是数据库系统每秒钟能够处理的查询或事务数量,反映了数据库的处理能力。
应用程序或服务:表示应用程序能够处理的请求速度,如Web服务器每秒可以处理的网页请求数量。
存储系统:涉及到数据读写的速度,如硬盘或固态硬盘每秒读写的字节数。
提高吞吐量通常是系统优化和扩容的目标之一,因为它直接影响到用户体验、系统响应时间和处理能力。
2B 2C
2B,即 ToB (To Business),指面向企业、商家(称之为:客户)的商业模式。
2C,即 ToC (To Customer),指面向消费者、个人(称之为:用户)的商业模式。