物理部署图

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

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

二、为什么要画物理部署图?
一个好的开发人员要懂得一定的运维知识。
物理部署图核心要解决的是:应用工程(软件)怎么和硬件合到一起运行。
三、物理部署图核心元素
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数据库


相关文章
|
7月前
|
前端开发 JavaScript Java
Spring Boot中使用拦截器
本文详解Spring Boot拦截器的原理与使用,涵盖定义、配置、静态资源处理及登录校验、注解控制等实战场景,助你掌握AOP思想在请求拦截中的应用。
|
7月前
|
SQL 关系型数据库 数据库
分布式事务
本文介绍了分布式事务的概念、典型场景及解决方案。在微服务架构下,一次业务操作需跨多个数据库和远程调用协作完成,传统本地事务无法保证整体一致性。通过Seata框架可实现分布式事务控制,其AT模式无侵入、高性能,基于两阶段提交与undo log实现最终一致;XA模式则提供强一致性但性能较低。文章还结合下单、支付等场景演示了Seata的集成与应用。
|
7月前
|
监控 Java API
Spring Boot中的切面AOP处理
AOP(面向切面编程)旨在分离关注点,将核心业务与辅助逻辑解耦。通过Spring Boot中的@Aspect、@Pointcut、@Before、@After等注解,可实现日志记录、性能监控、事务管理等功能,提升代码模块化与可维护性,灵活应对业务变化。
|
7月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本文介绍Spring Boot中配置管理的常用方法:通过`@Value`读取单个配置,使用`@ConfigurationProperties`封装多个配置项,并实现开发与生产环境配置文件(如application-dev.yml和application-pro.yml)的灵活切换,提升项目可维护性。
|
6月前
|
运维 安全 Linux
【运维实战】企业级 NFS 文件共享服务 · 一键自动化部署方案 (龙蜥/银河麒麟 V10 /openEuler /CentOS)
面向国产化替代需求,阜阳云动科技推出企业级NFS一键部署脚本,支持银河麒麟V10、openEuler、CentOS、龙蜥等主流系统。实现多部门隔离、权限可控、跨平台兼容的文件共享服务,自动化创建用户、目录与客户端挂载脚本,显著提升部署效率与安全性。开箱即用,助力政企高效构建安全稳定的NFS共享环境。
880 1
【运维实战】企业级 NFS 文件共享服务 · 一键自动化部署方案 (龙蜥/银河麒麟 V10 /openEuler /CentOS)
|
7月前
|
JSON 缓存 Java
Spring Boot集成 Swagger2 展现在线接口文档
Swagger是一款用于生成和管理API文档的工具,解决前后端分离架构中接口文档更新不及时的问题。通过集成Swagger2,可自动生成在线接口文档,支持实时查看与测试接口,提升开发效率。本文介绍其在Spring Boot中的配置与常用注解使用方法。
|
7月前
|
NoSQL Linux Shell
2-MongoDB单机部署
本文详细介绍MongoDB在Windows和Linux系统下的安装、配置与启动方法,包括下载地址、版本选择、命令行及配置文件启动方式,Shell连接、图形化工具Compass的使用,并附有常见问题解决与安装包资源。
525 1
 2-MongoDB单机部署
|
7月前
|
消息中间件 Java 数据安全/隐私保护
RabbitMQ入门
RabbitMQ是基于Erlang开发的开源消息中间件,支持AMQP协议,实现应用间解耦与异步通信。其核心组件包括生产者、消费者、队列、交换机和虚拟主机,可通过Docker快速部署并结合SpringAMQP实现消息收发。
|
7月前
|
安全 Java 开发者
过滤器链加载原理
本文深入解析Spring Security过滤器链加载原理,通过分析DelegatingFilterProxy、FilterChainProxy及SecurityFilterChain源码,揭示十五个过滤器如何自动装配并执行,帮助开发者理解框架底层机制,为自定义认证流程奠定基础。
过滤器链加载原理
|
7月前
|
JSON fastjson Java
Spring Boot 默认对Json的处理
本文详解Spring Boot中JSON处理,涵盖Jackson与FastJson的使用对比、null值处理及统一返回结构封装,提升接口数据规范性与可读性。

热门文章

最新文章