物理部署图

简介: 物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,常用于理解分布式系统。通过UML元素如节点(ECS、K8s Node)、构件(Pod)、Artifact(jar包)和网络连接,呈现应用如何在真实环境中部署运行,是开发与运维协同的重要工具。

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

  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月前
|
存储 消息中间件 开发框架
应用架构图
在业务架构基础上,技术架构将需求转化为技术实现。涵盖分层设计、技术选型与关键技术关联,包括单体四层结构(表现、业务、数据、基础层)与分布式SOA架构,明确应用内外调用关系及边界,形成完整技术体系蓝图。(238字)
|
6月前
|
存储 缓存 监控
JDK自带调优五件套(Jstat/Jinfo/Jmap/Jhat/Jstack)深度解析+实战指南
本文深入解析JDK自带的5款JVM调优工具(Jstat、Jinfo、Jmap、Jhat、Jstack),帮助开发者高效定位线上系统性能问题。Jstat实时监控GC状态,Jinfo查看修改JVM参数,Jmap生成内存快照,Jhat分析堆内存泄漏,Jstack诊断线程死锁。通过企业级实战案例,展示工具协同使用流程,并给出缓存优化等解决方案。这些轻量级工具无需额外部署,是Java开发者必备的性能调优利器,能有效应对内存泄漏、CPU过载等常见问题。
1759 3
|
6月前
|
缓存 前端开发 JavaScript
Nginx性能优化
本课程深入讲解Nginx性能优化三大核心:动静分离、客户端缓存与Gzip压缩,涵盖反向代理配置、负载均衡实现及日志分析技巧,结合Shell命令与GoAccess工具进行实战统计,助力掌握企业级Web服务优化方案。
417 81
Nginx性能优化
|
6月前
|
缓存 监控 NoSQL
吃透 JVisualVM 与 JConsole:Java 性能调优实战指南
本文详细介绍了Java性能调优工具JConsole和JVisualVM的使用方法。JConsole作为轻量级监控工具,适合快速排查线程死锁、内存异常等简单问题;JVisualVM则提供采样分析、内存快照、线程快照等高级功能,能深度诊断内存泄漏、CPU过高等复杂问题。文章通过实战案例演示了如何定位和解决线程死锁、CPU过高、内存泄漏等问题,并对比了两款工具的适用场景。核心建议:日常巡检用JConsole,深度分析用JVisualVM,同时强调生产环境使用时的安全注意事项。掌握这两款工具能有效提升Java应用性
693 4
|
6月前
|
人工智能 网络协议 Java
一文带你玩转 WebSocket 全链路可观测
在 AI 实时交互爆发的时代,WebSocket 成为核心协议。但其双向、长连接、流式传输特性,让传统链路追踪频频失效。阿里云 LoongSuite 基于 OpenTelemetry 标准,结合探针增强与自定义扩展,首次实现 WebSocket 全链路可观测,支持 Span 粒度控制、上下文透传、异步衔接与关键性能指标采集。
808 90
|
6月前
|
安全 Ubuntu 数据安全/隐私保护
怎么解决无法拉取Docker镜像?不如我们自己建一个加速站(
本教程介绍如何通过GitHub Actions与阿里云容器镜像服务,构建私有Docker镜像加速通道,解决国内无法拉取微软官方Jekyll开发镜像的问题。适用于个人救急使用,无需依赖公共加速器,安全高效。
610 9
怎么解决无法拉取Docker镜像?不如我们自己建一个加速站(
|
11月前
|
SQL 前端开发 Java
Spring的三层架构
Spring MVC 三层架构(表现层、业务层、数据访问层)通过职责分离提升代码可维护性与扩展性。表现层(Controller)接收请求并返回响应;业务层(Service)处理核心逻辑与事务;数据访问层(Mapper)负责数据库操作与数据映射,共同实现高效、清晰的系统开发。
1496 0
|
6月前
|
缓存 运维 监控
接口最大并发量测试工具对比与最佳实践方案
文章聚焦接口最大并发量测试,阐述其是保障系统稳定与性能的关键。介绍主流测试工具分SaaS化平台、开源工具和私有化部署方案,分析各方案特点、适用场景及优缺点。还给出工具选型建议,以及接口并发量测试的最佳实践流程,解答常见问题。
|
6月前
|
存储 NoSQL Linux
Redis集群部署指南
本教程基于CentOS7详解Redis集群部署,涵盖单机安装、主从复制、哨兵高可用及分片集群搭建。通过多实例模拟真实环境,深入讲解配置、启动、主从切换与数据读写测试,助你掌握Redis分布式架构核心技能。
1136 0
|
6月前
|
Java Spring
Spring Boot配置的优先级
SpringBoot项目支持多种配置方式,主要包括配置文件(application.properties、yml、yaml)和外部配置(系统属性、命令行参数)。优先级由高到低为:命令行参数 > Java系统属性 > application.properties > .yml > .yaml。