物理部署图

简介: 物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,帮助开发与运维人员理解分布式系统的部署架构,实现软硬件协同。

一、什么是物理部署图

部署图描述的是系统运行时的结构,展示了硬件的配置及其软件如何部署到网络结构中。一个系统模型只有一个部署图,部署图通常用来帮助理解分布式系统。

综上所述:物理部署图更多地是以运维的视角描绘运行时的系统的网络与部署结构。

二、为什么要画物理部署图?

一个好的开发人员要懂得一定的运维知识。

物理部署图核心要解决的是:应用工程(软件)怎么和硬件合到一起运行。

三、物理部署图核心元素

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

四、物理部署图示例

相关文章
|
3月前
|
前端开发 Java 数据库连接
RuoYi
若依(RuoYi)是一款基于SpringBoot、SpringCloud的开源快速开发平台,支持单体与微服务架构。提供权限管理、代码生成器、多版本前端(Vue/Uniapp),集成Redis、Nacos等主流组件,具备响应式布局与多设备适配能力,全系列免费商用。
RuoYi
|
3月前
|
SQL 监控 机器人
钉钉通知
本文介绍如何通过Java代码调用钉钉机器人API,实现系统告警消息的实时推送。涵盖机器人创建、PostMan测试、Java代码编写及实际应用优化,如封装工具类、配置解耦等,并提供常见失败原因分析,助力高效集成钉钉告警通知。
钉钉通知
|
3月前
|
人工智能 JSON 安全
大模型应用开发中MCP与Function Call的关系与区别
MCP与Function Call是大模型应用中两大关键技术。MCP作为标准化协议,打通模型与外部工具的通用连接;Function Call则是模型调用外部功能的具体机制。前者如“桥梁”,后者似“工具”,二者互补协同,推动AI应用向更开放、灵活、安全的方向演进,构建“意图解析-协议传输-工具执行”的分层架构新范式。
|
3月前
|
监控 Java 测试技术
OOM排查之路:一次曲折的线上故障复盘
本文记录了一次Paimon数据湖与RocksDB集成服务频繁OOM的排查历程。通过分析线程激增、堆外内存泄漏,最终定位到RocksDB JNI内存未释放问题,并借助Flink重构写入链路彻底解决。分享了MAT、NMT、async-profiler等工具的实战经验与系统性排查思路,为类似场景提供借鉴。(239字)
 OOM排查之路:一次曲折的线上故障复盘
|
3月前
|
XML 算法 安全
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,提升大模型在企业中的应用效果。分块策略是其核心,直接影响准确性与召回率。本文系统解析固定大小、语义、递归、结构及LLM五种分块方法的原理、优劣与适用场景,并提供选择建议与前沿优化方向,助力构建高效可靠的RAG系统。
|
3月前
|
人工智能 自然语言处理 API
全面认识MCP:大模型连接真实世界的“USB-C接口”
MCP(模型上下文协议)由Anthropic提出,是AI时代的“万能接口”,旨在标准化大模型与工具、数据源的连接。它降低开发复杂度,提升AI任务执行能力,推动智能体生态发展,被誉为AI应用落地的关键技术范式。
|
3月前
|
Kubernetes 容器 运维
物理部署图
物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,帮助理解分布式系统的网络架构与运维逻辑,是实现应用与硬件协同运行的重要设计工具。
 物理部署图
|
3月前
|
Java 大数据
ArrayList扩容机制
本文深入分析了Java中ArrayList的add及扩容机制。首次添加元素时,默认容量由0扩容至10;每次扩容为原容量的1.5倍(通过位运算提升效率),并通过ensureCapacityInternal、grow等方法实现动态扩容,同时介绍了length、length()、size()的区别与应用场景。
|
3月前
|
Java 测试技术 API
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因未灰度发布的配置导致全球服务中断7小时。根因是新功能缺乏错误处理,触发空指针异常,暴露了配置管理的重大风险。本文详解配置灰度发布策略,并以Nacos为例,介绍基于IP和标签的灰度实现方案,强调渐进式发布对系统稳定性的重要性。
从Google线上故障,谈灰度发布的重要性
|
3月前
|
Java Linux 开发工具
Linux
本文介绍如何将一个SpringBoot项目打包并部署到Linux服务器。内容涵盖工程搭建、jar包打包、JDK安装配置、应用上传与启动,以及通过心跳接口验证服务是否正常运行的完整流程,适用于Java应用的Linux部署学习与实践。

热门文章

最新文章