我们可以从两个层面来理解“服务器”:
1、物理/虚拟基础设施层(The Machine)
2、应用服务实例层(The Process)
1. 物理/虚拟基础设施层(The Machine)
在这个层面上,“服务器”指的是运行微服务应用的操作系统环境,它是微服务赖以生存的“土壤”和“硬载体”,通常包括:
物理服务器(Bare Metal Servers)真实的、看得见摸得着的硬件机器。
虚拟机(Virtual Machines, VMs)通过虚拟化技术(如 VMware, Hyper-V)在一台物理服务器上划分出的多个隔离的操作系统环境。
容器(Containers)这是现代微服务架构中最主流的选择,容器(如 Docker)提供了一个更加轻量级、便携、资源隔离的应用运行环境,一个物理机或虚拟机上可以运行成百上千个容器。
在这一层,服务器的核心职责是:
提供计算(CPU)、内存(RAM)、存储(Disk)和网络(Network)资源。
运行容器引擎(如 Docker)或操作系统本身。
保证基础环境的安全和稳定。
2. 应用服务实例层(The Process)
这是微服务架构中最常被提及的“服务器”概念。“服务器”指的是一个正在运行的、监听某个网络端口的微服务应用实例。
它是一个进程每一个微服务(例如用户服务、订单服务、商品服务)在部署后,都会以一个独立的进程(或进程组)运行起来。
它监听网络端口这个进程会绑定到一个特定的端口(如用户服务在8080端口,订单服务在8081端口),等待并处理从外部发来的网络请求(通常是 HTTP/REST, gRPC 等)。
它是“服务”的提供者正因为它在网络上提供了一个可被调用的能力,所以它被称为“服务器”(Server),而调用它的客户端(可能是另一个微服务、前端应用或移动端)则被称为“客户端”(Client)。
关键点:
一个微服务 = 一个应用(例如一个独立的.jar 包、.exe 文件或容器镜像)。
一个应用可以运行多个实例(例如启动 3 个用户服务的进程),以实现负载均衡和高可用,每一个运行的实例,都可以被称为一个“服务器”。
让我们通过一个经典的电商微服务例子来串联这两个概念:
1、基础设施:你公司云平台上有 10 台虚拟机(第一层服务器)。
2、部署:你在这些虚拟机上使用 Kubernetes(一种容器编排系统)部署了你的微服务应用。
3、运行实例:
* Kubernetes 在 3 台虚拟机上分别启动了 1 个用户服务的容器实例(第二层服务器,监听端口 8080)。
* 在另外 3 台虚拟机上启动了 3 个订单服务的容器实例(第二层服务器,监听端口 8081)。
* 在剩下的虚拟机上启动了其他服务(商品服务、支付服务等)。
4、服务调用:
* 当用户在前端点击“我的订单”时,前端会调用API 网关(一个特殊的微服务)。
* API 网关作为客户端,向订单服务的某个实例(服务器) 发起请求。
订单服务在处理过程中,需要获取用户信息,于是它又作为客户端,向用户服务的某个实例(服务器) 发起请求。
| 层面 | 传统单体应用中的“服务器” | 微服务架构中的“服务器” |
| 核心含义 | 物理机/虚拟机,整个应用运行在一台或几台服务器上。 | 1. 基础设施(物理机/VM/容器) 2. 每个微服务的运行实例(进程) |
| 职责 | 托管整个庞大的应用程序,提供所有功能。 | 基础设施层:提供资源。 应用实例层:提供一个非常具体的业务能力(如“管理用户”)。 |
| 关系 | 1个应用 : N台服务器 | M个微服务 : X台物理服务器 : Y个服务实例(Y通常远大于X和M) |
| 弹性扩展 | 垂直扩展(Scale Up):升级服务器硬件,或水平扩展整个应用,成本高。 | 精细度水平扩展(Scale Out):只为某个繁忙的微服务(如订单服务)启动更多实例,快速、成本低。 |
当在微服务上下文中谈到“服务器”时,首先要明确指的是提供计算资源的基础硬件/虚拟机,还是指某个正在运行并提供网络服务的微服务进程实例,后者是现代微服务讨论中最常见的语境。
文章摘自:https://idc.huochengrm.cn/js/15932.html
评论
邢思义
回复服务器分为物理/虚拟基础设施层和应用服务实例层,前者指运行微服务的环境,包括物理服务器、虚拟机和容器;后者指运行的微服务实例,监听端口,提供具体业务能力,两者协同工作,共同构成微服务架构。
祈思柔
回复微服务中的服务器是运行微服务应用实例的硬件或虚拟机,提供特定功能。
允秀美
回复服务器在微服务架构中有两个层面:一是提供计算资源的物理/虚拟基础设施层,包括硬件机器、虚拟机或容器;二是正在运行并提供网络服务的单个微服务进程实例,理解这两个层面的含义有助于更好地把握现代互联网技术的运作原理和扩展策略选择的重要性不言而喻。。
禹智美
回复微服务中的服务器是运行单个服务的独立实例,负责处理特定功能。
丹舒
回复服务器在微服务架构中分为两层:物理/虚拟基础设施层(提供计算资源)和应用服务实例层(运行微服务进程),前者包括物理服务器、虚拟机和容器,后者指运行在基础设施上的微服务实例,提供具体业务能力。
真斯斯
回复微服务中的服务器是指运行微服务应用的物理或虚拟机,负责处理请求并与其他服务进行通信。
孟姣妍
回复在微服务架构中,服务器是运行微服务应用实例的硬件或虚拟机,负责处理请求、执行业务逻辑并与其他服务进行通信,是微服务架构中不可或缺的组成部分。
烟冬易
回复微服务中的服务器是运行微服务应用实例的物理或虚拟机。