了解被测系统(一)技术架构

news2024/10/6 0:34:50

目录

web应用组成

项目实例

系统架构图 

整体架构图


web应用组成

从开发者的角度来看,web 应用主要由三部分组成: 用户界面,业务逻辑,数据。

1.用户界面(视图层)

用于将数据展示给用户的地方,采用 HTML,CSS,JavaScript 编写;

2.业务逻辑(控制层)

实现业务需求和控制业务流程的地方,可以采用 Java,PHP,Python,JavaScript 编写。

3.数据(模型层)

应用的核心部分,应用业务逻辑的实现,用户界面的展示都是基于数据的,web应用中的数据通常是存储在数据库中的,数据库可以采用 MySql,Mongodb 等。

项目实例

GitHub - macrozheng/mall: mall项目

mall项目是一套基于 SpringBoot + Vue + uni-app 的电商系统,包括前台商城项目和后台管理系统。 

综合使用Spring Boot、Vue.js和uni-app可以实现前后端分离的架构。后端使用Spring Boot提供RESTful API接口,处理业务逻辑、数据存储和安全认证等功能。前端使用Vue.js和uni-app编写用户界面,通过调用后端的API接口来获取数据和处理用户交互。这种架构可以实现前后端的解耦,提高开发效率和可维护性,并支持跨平台的应用程序开发。

系统架构图 

  1. 电脑/手机访问:用户通过Web浏览器访问应用程序(或者手机端访问)

  2. 前端服务:前端部分,使用Vue.js、uni-app等前端框架编写。它负责处理用户界面的展示和用户交互,并通过API Gateway与后端进行通信。

  3. 网关服务:作为前后端交互的中间层,负责接收前端请求并进行路由、鉴权等处理。它可以实现请求的转发、负载均衡、缓存等功能,并将请求转发给后端的相应服务。

  4. 后端服务:后端部分,使用Spring Boot等框架编写。它包含了一系列的服务模块,处理业务逻辑、数据存储、安全认证等功能。后端通过API Gateway暴露API接口,供前端调用。

  5. 数据存储:数据存储层,使用关系型数据库(MySQL)、NoSQL数据库(MongoDB)等来存储应用程序的数据。

  6. 日志收集:ELK Stack是一个用于日志管理和分析的开源工具组合。Elasticsearch用于实时搜索和分析大规模的数据,Logstash用于日志的收集、过滤和转发,Kibana用于可视化和分析日志数据。

  7. 持续集成:使用Jenkins来设置自动化的构建和部署流程,确保代码的质量和可靠性,提高开发效率。

  8. 容器化部署:使用Docker来容器化前端、后端和其他组件,方便部署和管理。通过使用Docker,可以提高应用程序的可移植性和可伸缩性。

  9. 文件存储:OSS(阿里云对象存储服务)或MinIO等在电商系统中扮演着重要的角色。它们提供了可扩展的、高可用性的存储解决方案,用于存储电商系统中的文件、图片、视频等非结构化数据。

  10. 消息队列:通过将消息发送到队列中,不同的组件可以通过订阅消息来进行通信,而不需要直接依赖彼此。通过异步通信,系统可以将一些耗时的操作转化为异步任务。RabbitMQ可以用于处理异步任务和消息处理的场景。

整体架构图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/974426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux内核】以共享内存的方式实现进程间通信

现在有很多进程间通信的模式,但是我们选择一个简单的IPC机制(共享内存)来实现,并让它工作起来。 简单来讲我们实现了两个系统调用(不可避免地需要我们完善IDT),发送方查看接受方是否接收&#…

配电室智能运维解决方案

配电智能运维服务是以电易云-智慧电力物联网平台为核心,通过对配电室(或箱变)、高、低压配电柜加装在线监测装置,将运行状态实时传输到电易云平台,人工24小时运维值班,为客户提供大数据时代下的电力运维解决方案,更好的…

基于springboot绩效管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

2.5 PE结构:导入表详细解析

导入表(Import Table)是Windows可执行文件中的一部分,它记录了程序所需调用的外部函数(或API)的名称,以及这些函数在哪些动态链接库(DLL)中可以找到。在Win32编程中我们会经常用到导…

修改 gc2093.c 驱动程序改变摄像头预览的镜像效果

原理 查看gc2093芯片手册,修改寄存器0x0017的数值,可以修改摄像头预览镜像效果。如下: #define GC2093_MIRROR_FLIP_REG 0x0017 #define MIRROR_MASK BIT(0) #define FLIP_MASK BIT(1) 方法 通过修改 gc2093.c 驱动程序可以改变摄像头预览…

NET7快速开发一个商品管理模块-商品列表开发(一)

商品管理模块,一般包含以下几个模块: 商品列表:这里可以看到所有已发布的商品信息列表。 商品管理:添加商品、编辑商品以及删除商品。 具体功能如下图: 1.商品列表 2.添加商品 3.商品SKU编辑

【java】【项目实战】[外卖十]项目优化(mysql读写分离)

目录 一、问题说明 二、读写分离示例 三、Mysql主从复制 3.1 介绍 3.2 配置 3.2.1 前置条件 3.2.2 配置-主库Master 3.2.2.1 第一步 3.2.2.2 第二步 3.2.2.3 第三步 3.2.2.4 第四步 3.2.3 配置-从库Slave 3.2.3.1 第一步 3.2.3.2 第二步 3.2.3.3 第三步 3.2.3.4 …

【TypeScript学习】—编译选项(三)

【TypeScript学习】—编译选项(三) 一、自动编译文件 tsc xxx.ts -w二、自动编译整个项目 三、编译器选项

3. C++调试时显示代码所在文件 / 函数 / 行号信息

1. 说明 在执行C代码时,有时希望知道当前代码所在的文件名、函数名和对应行号位置信息,方便快速定位到代码所在处。想要获取这些信息,可以使用C提供的一些宏进行获取。 2. 简单说明 __FILE__ : 用于获取当前语句所在源文件的文件名 ——fu…

从本地到Gitee:一步步学习文件上传及解决常见报错问题

🙂博主:小猫娃来啦 🙂文章核心:一步步学习文件上传及解决常见报错问题 文章目录 安装git进入gitee官网,登录账号新建仓库先打开git命令行上传本地资源到仓库第一步:git init第二步:git add .第三…

正版软件|Splashtop Personal 个人版桌面和移动远程控制软件

Splashtop Personal 个人版 - 从平板电脑、智能手机或另一台计算机轻松远程访问 Mac 或 Windows PC 最多可达 5 台设备。在本地网络上免费使用 Splashtop Personal *即可从舒适的沙发或卧室访问家用计算机。 通过订阅 Anywhere Access Pack,可以从 Internet 上的任何…

JLink和ST-Link接口引脚介绍

STM32F1系列,STM8S系列,PY32F003系列都用过好久了,但是对JLink和ST-Link下载器认识,还是很肤浅的。有时候,需要自己接线,却不知道引脚定义,特整理如下: 1、ST-Link ST-Link适合对象…

按钮控件之4---QToolButton 工具按钮控件

一、设置和基本显示 QWidget w; QToolButton *pb1new QToolButton(&w); 设置文字 setText() 设置图标 setIcon() 改变图标大小 setIconSize() 设置提示文本 setToolTip() pb1.setToolTip("hello"); 二、属性 1. arrowType: Qt::ArrowType 设置…

如何让数据成为企业的生产力?

为什么有的企业投入大量的人力、物力、财力做数字化转型建设最终做了个寂寞!企业领导没看到数字化的任何价值! 如果要问企业数字化转型建设最核心的价值体现是什么,大部分人都会说是:数据! 然而,不同的人…

Nginx 配置中root和alias的区别分析

root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如: location /i/ { root /data/w3; } 请求 http://foofish.net/i/top.gif 这个地址时,那么在服务器里面对应的真正的资源 是 /data/w3/i/top.gif文…

使用Vue + axios实现图片上传,轻松又简单

目录 一、Vue框架介绍 二、Axios 介绍 三、实现图片上传 四、Java接收前端图片 一、Vue框架介绍 Vue是一款流行的用于构建用户界面的开源JavaScript框架。它被设计用于简化Web应用程序的开发,特别是单页面应用程序。 Vue具有轻量级、灵活和易学的特点&#xf…

Centos7安装黑客矩阵特效软件cmatrix

一:Cmatrix 是一款 Linux 环境下的炫酷屏保软件 其效果类似于黑客帝国电影中的代码雨 同时该软件也是一个开源软件,开源项目地址:GitHub - abishekvashok/cmatrix: Terminal based "The Matrix" like implementation 二&#xff…

requests模块

1、简介 Requests是⼀个优雅⽽简单的Python HTTP库,专为⼈类⽽构建。 Requests是有史以来下载次数最多的Python软件包之⼀,每天下载量超过400,000次。 之前的urllib做为Python的标准库,因为历史原因,使⽤的⽅式可以说是⾮常的麻烦…

单臂路由实验:通过Trunk和子接口实现VLAN互通

文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. PC 配置 IP 地址2. PC3 属于 Vlan10,PC4 属于 Vlan20,配置单臂路由实现 Vlan10 和 Vlan20 三层互通3. 测试在 PC3 上 Ping PC4 ,可以 Ping 通 PC4 摘要: 本文…

附录1-爬虫的一些技巧

目录 1 寻找url与显示内容的关系 2 修改请求头 3 局部刷新 4 阅读返回信息 5 多尝试页面其他的使用方式 6 尝试不同类型参数 7 表单类型的post多用data发,接口类型的post多用json发 8 消除degger 9 你在浏览器上看到的html与你下载下来的html不一…