物理部署图

简介: 物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,帮助理解分布式系统的网络架构与运维部署,常用于指导应用与硬件的集成。

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

  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集群)。

四、物理部署图示例

相关文章
|
4月前
|
缓存 关系型数据库 数据库
别再乱用了!幂等处理与分布式锁,90% 开发者都踩过的坑与正确落地姿势
本文深度剖析分布式系统中幂等处理与分布式锁的本质区别:幂等解决“时间维度重复执行”问题,保证结果唯一;分布式锁解决“空间维度并发竞争”问题,保障资源互斥。厘清常见误区,结合四大类典型场景(仅需幂等、仅需锁、必须联用、天然幂等),给出精准选型指南与可落地的代码实现,助你规避资损、超卖等线上故障。
350 1
|
云栖大会 开发者
收到阿里云【乘风者计划】博主证书和奖励
收到阿里云【乘风者计划】博主证书和奖励 2023年2月对我来说是一个很好的开端,因为我在1号就收到了阿里云寄给我的【乘风者计划】博主证书和奖励。好兆头啊! 我收到的是我获得的【技术博主】【星级博主】【专家博主】三个的奖品和证书,一快给我寄过来哒!
3332 2
收到阿里云【乘风者计划】博主证书和奖励
|
10月前
|
Shell Linux
九、Linux Shell脚本:运算符与表达式
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
631 0
|
7月前
|
NoSQL MongoDB
MongoDB常用命令4
本文介绍MongoDB文档的分页与排序查询。通过`count()`统计记录数,`limit()`限制返回数量,`skip()`跳过指定条数,实现分页;结合`sort()`按字段升降序排列。注意:三者执行顺序为先sort→skip→limit,与书写顺序无关。
|
7月前
|
关系型数据库 MySQL Java
4.2 服务端(Cursor)-接口开发(部门管理)
基于SpringBoot+Mybatis+PageHelper,使用JDK8+语法,连接内网MySQL数据库(Sealos托管),完成部门管理5大接口开发:列表查询、根据ID查询、添加、修改、删除部门。结合dept表结构与接口文档,实现RESTful API,返回统一格式数据,通过ApiFox测试验证功能完整可用。(239字)
|
7月前
|
监控 Java 测试技术
OOM排查之路:一次曲折的线上故障复盘
本文记录了一次线上服务因Paimon数据湖与RocksDB集成引发的三次内存溢出(OOM)故障排查全过程。通过MAT、NMT、async-profiler等工具,结合监控分析与专家协作,最终定位到RocksDB通过JNI申请堆外内存未释放的根源问题,并推动架构优化:由应用直写改为Flink统一入湖。分享排查思路与工具使用,为同类技术栈提供借鉴。
|
7月前
|
人工智能 前端开发 JavaScript
4.6 前端(Cursor)-页面布局
使用Sealos DevBox创建Vue项目,通过Cursor开发。执行`npm run dev`启动,访问公网地址即可预览。基于Vue3+ElementPlus实现“智学云帆”布局:顶部标题、右侧登录信息、左侧菜单,右侧动态页面。优化背景色、宽度及响应式,首页设计简洁大气,提升整体视觉体验。(238字)
|
7月前
|
存储 人工智能 关系型数据库
4.3 服务端(Cursor)-接口开发(员工管理)
基于SpringBoot+Mybatis+PageHelper,使用JDK8+新语法实现员工管理功能,涵盖分页查询、新增、修改、删除、详情及全量查询接口,操作emp与emp_expr表,支持多条件筛选与级联工作经历处理,高效完成前后端交互。
|
7月前
|
NoSQL 算法 Redis
Docker安装Redis(1)
本文介绍Docker安装Redis 6.0.8的完整流程,涵盖单机版与生产级部署。通过容器卷映射配置文件和数据目录,实现数据持久化与自定义密码、远程访问等设置。同时解析Redis集群三大分布式存储算法:哈希取余、一致性哈希与哈希槽,重点说明其原理、优缺点及适用场景,助力构建高效稳定的Redis服务。
|
供应链 数据挖掘 API
1688商品详情API全字段解析:从基础参数到SKU深度挖掘
1688商品详情API为开发者提供高效获取商品信息的官方通道,支持自动化获取标题、价格、库存等核心数据,适用于电商开发、数据分析及供应链管理。接口支持灵活参数配置,并提供Python调用示例,便于快速集成与应用。