物理部署图

简介: 物理部署图从运维视角展现系统运行时的硬件配置与软件部署结构,描述节点、构件、物件及连接关系,常用于分布式系统设计。它明确应用如何在硬件上部署,涵盖ECS、K8s等资源,帮助实现软硬件协同。

物理部署图
一、什么是物理部署图
部署图描述的是系统运行时的结构,展示了硬件的配置及其软件如何部署到网络结构中。一个系统模型只有一个部署图,部署图通常用来帮助理解分布式系统。
综上所述:物理部署图更多地是以运维的视角描绘运行时的系统的网络与部署结构。
二、为什么要画物理部署图?
一个好的开发人员要懂得一定的运维知识。
物理部署图核心要解决的是:应用工程(软件)怎么和硬件合到一起运行。
三、物理部署图核心元素

  1. 节点(Node)
    节点是存在于运行时的代表计算机资源的物理元素,可以是硬件也可以是运行于计算机上的软件系统:如ECS云服务器实例、或Kubernetes的节点Node。如下图:
  2. 构建(Component)
    构件(component)是系统中遵从同一组接口且提供其实现的物理的、可替换的部分。每一个构件能实现一定的功能,为其他构件提供使用接口,方便软件的复用,使用构件最重要的是复用。个人将Kubernetes节点Node中的不同Pod理解为Node节点的不同构件。如下图所示:
  3. 物件(Artifact)
    物件是指软件开发过程中的产物,包括过程模型(用例图等)、源代码、可执行程序(如jar包)等。如下图表示一个运行在节点实例中的Kubernetes Pod构建中的一个java可执行程序jar包。
  4. 连接(Association)
    节点之间的连线表示系统之间进行交互的通信路径,这个通信路径成为连接,如下一节示例图所示,连接中有网络协议。
  5. 框架(Frame)
    一个或多个节点可以组成一个框架,其中节点也可以包括构建与物件等元素。如下图多个Kubernetes节点Node可以组成一个框架(k8s集群)。
    四、物理部署图示例
相关文章
|
6月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
364 89
|
3月前
|
Kubernetes Linux Docker
蓝易云:Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
这是在Rocky Linux 8.9上配置Kubernetes集群的高级概述。确保遵循每个步骤,不要跳过环境设置部分,因为这是集群稳定性的关键。
139 2
|
4月前
|
存储 算法 搜索推荐
基础算法
本章介绍基础算法,涵盖加密与排序两大类。加密部分包括对称加密(如AES、SM4)、非对称加密(如RSA、SM2)、哈希摘要(如SHA-2、SM3)、电子签名及密码安全存储方案(如加盐、BCrypt)。排序部分讲解常见算法:冒泡、快排、归并、堆排序等,分析其时间复杂度与适用场景,并区分比较类与非比较类排序方法,强调实际应用中多采用混合策略以提升效率。(239字)
|
4月前
|
存储 JSON NoSQL
MongoDB常用命令
本节介绍MongoDB常用命令,涵盖数据库的创建与删除(use、show dbs、dropDatabase)、集合操作(显式/隐式创建、drop)及文档的CRUD。以articledb数据库和comment集合为例,演示数据插入语法及注意事项,如NumberInt使用、_id自动生成等,帮助快速掌握MongoDB基础操作。(239字)
|
4月前
|
存储 Kubernetes Shell
轻量化K8S 入门
K3s是轻量级Kubernetes发行版,单二进制文件集成控制平面,支持快速部署。采用containerd、Flannel等组件,支持高可用、离线安装与灵活扩展,适用于边缘计算、开发测试及生产环境。
|
4月前
|
存储 安全 算法
Java基础
本章涵盖Java核心基础:从方法重载与重写、==与equals区别,到String三兄弟、异常体系;深入集合框架与HashMap底层原理;详解BIO/NIO/AIO、多线程并发、JVM内存模型及垃圾回收机制,最后介绍Lambda表达式及其应用。系统全面,助力夯实Java根基。
|
4月前
|
存储 NoSQL Linux
MongoDB单机部署
本文介绍MongoDB在Windows和Linux系统中的单机部署方法,涵盖下载安装、配置文件设置、命令行启动与连接,以及图形化工具Compass的使用。详细说明版本选择、目录创建、参数配置及防火墙处理,并提供服务启动、连接测试与安全关闭的操作步骤,适用于开发与生产环境部署。(238字)
|
4月前
|
XML JSON Java
映射关系
本内容介绍MyBatis中四种映射关系:一对一(属性与字段映射)、一对多(如用户对应多角色,使用`<collection>`)、多对一(如博客关联作者,使用`<association>`)和多对多(通过中间类实现,如用户与部门互相关联),详解如何通过resultMap配置实现复杂对象关系映射,提升数据库结果集的封装能力。
|
4月前
|
缓存 Java 数据库连接
常见配置
本文介绍MyBatis常见配置,包括属性加载优先级(方法参数 > resource/url > properties)、核心配置项如缓存、延迟加载、执行器类型等,并讲解多环境配置方式及事务管理机制(JDBC与MANAGED),适用于多数据源场景。结合官网API,帮助开发者高效配置MyBatis。
|
4月前
|
监控 算法 Unix
Thread.sleep(0) 到底有什么用(读完就懂)
`Thread.sleep(0)` 并非无用,它会触发操作系统立即重新进行CPU竞争,让其他线程有机会执行。在Windows等抢占式系统中,即使当前线程不主动放弃CPU,调用 `sleep(0)` 也能主动让出时间片,避免界面假死。而 `sleep(1000)` 仅表示“至少休眠1秒”,实际唤醒时间取决于调度和优先级,并不精确。本文通过“分蛋糕”生动解析线程调度机制,帮你彻底理解 `sleep` 的真正含义。