物理部署图

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

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

二、为什么要画物理部署图?
一个好的开发人员要懂得一定的运维知识。
物理部署图核心要解决的是:应用工程(软件)怎么和硬件合到一起运行。
三、物理部署图核心元素
1. 节点(Node)
节点是存在于运行时的代表计算机资源的物理元素,可以是硬件也可以是运行于计算机上的软件系统:如ECS云服务器实例、或Kubernetes的节点Node。如下图:

I'manode


2. 构建(Component)
构件(component)是系统中遵从同一组接口且提供其实现的物理的、可替换的部分。每一个构件能实现一定的功能,为其他构件提供使用接口,方便软件的复用,使用构件最重要的是复用。个人将Kubernetes节点Node中的不同Pod理解为Node节点的不同构件。如下图所示:

ImaNode

Imacomponenti

inaNode


3. 物件(Artifact)
物件是指软件开发过程中的产物,包括过程模型(用例图等)、源代码、可执行程序(如jar包)等。如下图表示一个运行在节点实例中的Kubernetes Pod构建中的一个java可执行程序jar包。

hbos-businessnode1

hbos-doctor-stationPods

hbos-doctor-station.jar


4. 连接(Association)
节点之间的连线表示系统之间进行交互的通信路径,这个通信路径成为连接,如下一节示例图所示,连接中有网络协议。
5. 框架(Frame)
一个或多个节点可以组成一个框架,其中节点也可以包括构建与物件等元素。如下图多个Kubernetes节点Node可以组成一个框架(k8s集群)。

THTTP

businessKubernetescluster

KubernetesMasterNode

三方集成平台

APIServer

ReplicationContoller

+HTTP

edeployp

edeploy)

cdeployp

hbos-businessnode1

hbos-businessnoden

hbbos-businessnode2

hbos-nurse-stationPods

hbos-doctor-stationPods

businesscomponentPods

other-business-project.jar

hbos-doctor-station.jar

hbos-nurse-ststion.jar


四、物理部署图示例

互联网区

前端用户

管理端用户

前端用户

HTTP(S)

HTTP(S)

CDN

DNS

LNTEMET

DMZ区

外网防火墙

安全区

DDOS高防

云盾

WAF

KEEPLIVED

负载均衡

反向代理

HA

NGINX

核心交换域

应用区

内网防火墙

应用服务器

应用服务器

应用中心交换

应用服务器

应用服务器

防火墙

核心交换机

防火墙

基础应用服务

日志服务器

认证服务器

GATEAY网关

GATEAY网关

数据中心交换机

数据区内网

文件服务器

文件服务器

统计查询服务

历史数据服务

数据中心服务

主从复制,读写分离

西

业务服务器B

业务服务器A

业务服务器...

H2数据库

H2数据库

DB

DB

DB

配置中心

配置中心

配置中心

SLAVE

MASTER

SLAVE

缓存服务集群

消息服务集群

()

MASTER

SLAVE MONGODB

MONGODB

REDIS备份数据库

MASTER RABBITMQ

SLAVE RABBITMQ

REDIS数据库


相关文章
|
8月前
|
前端开发 JavaScript Java
Spring Boot中使用拦截器
本文详解Spring Boot拦截器的原理与使用,涵盖定义、配置、静态资源处理及登录校验、注解控制等实战场景,助你掌握AOP思想在请求拦截中的应用。
|
8月前
|
SQL 关系型数据库 数据库
分布式事务
本文介绍了分布式事务的概念、典型场景及解决方案。在微服务架构下,一次业务操作需跨多个数据库和远程调用协作完成,传统本地事务无法保证整体一致性。通过Seata框架可实现分布式事务控制,其AT模式无侵入、高性能,基于两阶段提交与undo log实现最终一致;XA模式则提供强一致性但性能较低。文章还结合下单、支付等场景演示了Seata的集成与应用。
|
8月前
|
监控 Java API
Spring Boot中的切面AOP处理
AOP(面向切面编程)旨在分离关注点,将核心业务与辅助逻辑解耦。通过Spring Boot中的@Aspect、@Pointcut、@Before、@After等注解,可实现日志记录、性能监控、事务管理等功能,提升代码模块化与可维护性,灵活应对业务变化。
|
7月前
|
运维 安全 Linux
【运维实战】企业级 NFS 文件共享服务 · 一键自动化部署方案 (龙蜥/银河麒麟 V10 /openEuler /CentOS)
面向国产化替代需求,阜阳云动科技推出企业级NFS一键部署脚本,支持银河麒麟V10、openEuler、CentOS、龙蜥等主流系统。实现多部门隔离、权限可控、跨平台兼容的文件共享服务,自动化创建用户、目录与客户端挂载脚本,显著提升部署效率与安全性。开箱即用,助力政企高效构建安全稳定的NFS共享环境。
968 1
【运维实战】企业级 NFS 文件共享服务 · 一键自动化部署方案 (龙蜥/银河麒麟 V10 /openEuler /CentOS)
|
8月前
|
缓存 JSON 前端开发
Spring Boot集成Thymeleaf模板引擎
Thymeleaf 是现代Java模板引擎,支持静态原型与动态数据融合,可直接浏览器预览,提升前后端协作效率,适用于Spring Boot项目,实现页面自然展示与高效开发。
Spring Boot集成Thymeleaf模板引擎
|
8月前
|
消息中间件 Java 数据安全/隐私保护
RabbitMQ入门
RabbitMQ是基于Erlang开发的开源消息中间件,支持AMQP协议,实现应用间解耦与异步通信。其核心组件包括生产者、消费者、队列、交换机和虚拟主机,可通过Docker快速部署并结合SpringAMQP实现消息收发。
|
8月前
|
安全 Java 开发者
过滤器链加载原理
本文深入解析Spring Security过滤器链加载原理,通过分析DelegatingFilterProxy、FilterChainProxy及SecurityFilterChain源码,揭示十五个过滤器如何自动装配并执行,帮助开发者理解框架底层机制,为自定义认证流程奠定基础。
过滤器链加载原理
|
8月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队中基于自动化部署平台(Jenkins+K8S)的多环境发布流程,涵盖DEV、TEST、PRE、PROD各环境职责及CI/CD实践,结合Git分支管理、容器化部署与Skywalking日志追踪,实现高效发布与故障排查。
生产环境发布管理
|
8月前
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
本文介绍了如何在Eclipse中配置并运行Java Web项目,包括JDK、Tomcat等基础软件的安装与版本要求,详细演示了项目导入、Maven项目识别、工作空间设置等步骤,并重点讲解了Eclipse中绑定Tomcat服务器的全过程,涵盖版本选择、本地路径配置及项目部署。同时提供了常见错误解决方案,如数据库连接失败、密码错误等,并附有实际案例系统(如图书馆管理系统)的访问与配置说明,帮助开发者快速搭建和运行项目。
Eclipse运行SSM/SSH项目教程

热门文章

最新文章