物理部署图

简介: 物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,帮助理解分布式系统的网络架构与组件交互,是开发与运维协作的重要工具。

一、什么是物理部署图
部署图描述的是系统运行时的结构,展示了硬件的配置及其软件如何部署到网络结构中。一个系统模型只有一个部署图,部署图通常用来帮助理解分布式系统。
综上所述:物理部署图更多地是以运维的视角描绘运行时的系统的网络与部署结构。

二、为什么要画物理部署图?
一个好的开发人员要懂得一定的运维知识。
物理部署图核心要解决的是:应用工程(软件)怎么和硬件合到一起运行。
三、物理部署图核心元素
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月前
|
uml C语言
系统时序图
时序图(Sequence Diagram)是UML中一种描述对象间消息传递时间顺序的交互图。横轴为对象,纵轴为时间,通过生命线、控制焦点和消息等元素,展现系统动态协作过程,突出交互的时间顺序与并发行为,常用于分析和设计软件系统的动态结构。
|
6月前
|
存储 消息中间件 开发框架
应用架构图
技术架构是将业务需求转化为技术实现的关键过程,涵盖分层设计、技术选型与系统集成。包括单体与分布式架构,明确应用内外调用关系及边界,支撑产品高效稳定运行。
应用架构图
|
6月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法进行领域建模,构建数据架构中的ER图。基于业务流程,运用时标性(MI)、参与方-地点-物品(PPT)、角色(Role)和描述(DESC)四类原型,逐步抽象出系统数据模型,并最终提炼为实体关系图,指导数据库设计。
领域模型图(数据架构/ER图)
|
6月前
|
缓存 算法 Java
线程池
本文深入剖析Java线程池核心实现,涵盖ThreadPoolExecutor与ScheduledThreadPoolExecutor的工作原理、线程调度机制及Executors工具类的使用。同时解析ThreadLocal与InheritableThreadLocal的底层设计,帮助理解线程安全与数据隔离。
线程池
|
6月前
|
存储 缓存 算法
零拷贝
服务器传输大文件时,传统方法因频繁的上下文切换和内存拷贝导致性能低下。零拷贝技术通过减少系统调用和数据拷贝次数,显著提升效率,尤其适用于小文件传输;而大文件场景则推荐异步IO结合直接IO,避免PageCache副作用,优化高并发性能。(239字)
零拷贝
|
6月前
|
存储 NoSQL 关系型数据库
MongoDB相关概念
MongoDB是一款高性能、无模式的文档型数据库,适用于社交、游戏、物流、物联网等大数据量、高并发读写场景。它以BSON格式存储数据,灵活支持复杂结构,具备高可用、高扩展及丰富的查询能力,是应对“三高”需求的理想选择。
|
6月前
|
NoSQL Linux Shell
MongoDB单机部署
本文详细介绍MongoDB在Windows和Linux系统下的安装与启动方法,包括下载地址、版本选择、解压配置、环境变量设置、配置文件编写及常见问题解决。同时介绍通过mongo shell和Compass图形化工具连接数据库的操作步骤,并提供附件中的各环境安装包信息,适用于初学者快速上手部署MongoDB单机服务。
|
6月前
|
存储 缓存 安全
Java基础-One Trick Per Day
本文总结Java开发中六大关键规范:避免HashMap初始化容量误区,推荐Guava工具;禁用Executors创建线程池以防OOM,建议手动定义参数;Arrays.asList返回不可变列表,禁止修改操作;遍历Map优先使用entrySet或forEach提升性能;SimpleDateFormat非线程安全,应避免static使用,推荐ThreadLocal或Java 8新时间API;并发更新记录时合理选用乐观锁或悲观锁,保障数据一致性。
Java基础-One Trick Per Day
|
6月前
|
Java 应用服务中间件 网络安全
Java基础—Eclipse运行SSM/SSH项目教程
本文介绍了如何在Eclipse中配置并运行基于SSM框架的Java Web项目,包括JDK、Tomcat等环境搭建,项目导入与服务器绑定步骤,并提供常见错误解决方案,适用于初学者快速部署Java项目。
Java基础—Eclipse运行SSM/SSH项目教程
|
6月前
|
敏捷开发 Java 测试技术
为什么要单元测试
本文探讨单元测试为何能让软件开发更快。通过剖析测试体系演进、测试金字塔理念,阐明单元测试在提升调试效率、代码质量与研发信心方面的核心价值,破除“写单测费时”等误区,倡导研发自主保障质量,推动项目高效持续交付。

热门文章

最新文章