技术架构 - 应用数据分离,应用服务集群架构

news2025/1/24 8:44:25

前言

    上一篇文章介绍了单机架构,由于性能瓶颈,满足不了高访问量,所以演化出了数据分离架构。

这种架构也很简单只是将应用服务和数据库服务分离开来,避免单一架构的资源争夺的情况。

一、 应用数据分离架构

1. 简介

    应用服务和数据库服务使用两台服务器进行分别部署,应用服务就是对外提供服务的,数据库服务就是用来存储数据的。

2. 出现原因

    单机架构存在严重的资源竞争,导致网站访问速度变慢。

3. 架构工作原理

    以电子商城网站为例,用户访问淘宝网站,开始还是先访问 DNS 服务器,之后拿到 淘宝服务器的 IP 之后就去请求这个服务器的资源,此时的应用服务和数据库服务两台服务器是通过网络进行通信的,所以在请求商品信息的时候还是访问服务层,服务层再去查询数据库,只是这个操作是经过网络来完成交付的,和单一架构就这一点有区别。

4. 架构优缺点

    优点:1. 成本比单机架构高一点,但是相对来说是可控的(原来部署一台服务器,现在部署两                      台服务器)

               2. 性能比单机架构提升了一点。

               3. 数据库是单独存在的,如果如果应用层出现了一个 bug,这个 bug 会导致数据库的数                     据损坏,此时不会因为这个 bug 而弄丢数据库的数据。具有一定的容灾能力。

    缺点:1. 仍然不支持高并发、高访问量的场景,就算是部署两台服务器,性能也只是提高了一                       点,如果是大量的并发请求,应用数据分离架构还是难以支持的。

               2. 硬件成本增高,原来部署一台服务器,现在部署两台。

 二、 应用服务集群架构

1. 简介

    加入了负载均衡技术,应用是以多个服务器的方式(集群)运行,通过负载均衡技术避免单一节点(服务器)负载过大,达到资源利用的最优解。

2. 出现原因

    上述的架构仍然不满足海量的并发请求,通过 负载均衡 + 集群 的方式来处理高并发。

3. 架构工作原理

    以电子商城为例,如下图所示:用户在访问服务器时,先通过负载均衡技术将请求发送给对应的服务器节点,负载均衡再根据分配策略将请求发送给合适的服务器,然后再去查询商品,数据库和应用之间还是以网络的方式进行通信,之后服务层把拿到的数据返回给用户(这里负载均衡有两种模式,一种是返回的流量经过负载均衡,一种是流量不经过负载均衡)

4. 架构优缺点

    优点:1. 高可用:一个服务器节点挂了之后其他的还可以继续工作。

               2. 高性能:因为和数据库通信时经过网络的,需要一定的时间成本,所以如果不是和访                                      问数据库相关的操作,性能是很高的,而且集群中计算节点很多,所以支持                                    高并发的请求。

               3. 支持横向扩展:如果这个集群中的节点不够用了,可以继续增加服务器节点来保证上                                                述优点。

    缺点:1. 服务器是集群,但是数据库是单点,所以数据库的性能是有限的.

               2. 硬件成本高。

               3. 运维部署成本高,服务器节点增多,之后就需要快速部署,需要开发工具开发更快                          捷。

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

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

相关文章

JavaScript从入门到精通系列第三十七篇:详解JavaScript中文档的加载顺序

文章目录 一:文档加载说明 1:回顾一个代码 2:问题分析和说明 二:如何给JS换个位置? 1:过程分析 2:代码编写 3:运行结果 4:解释说明 大神链接:作者有幸…

Excel-lookup函数核对两个表格的数据匹配

需求描述:把右侧表格里的成绩按照姓名匹配到左表中 D11函数为LOOKUP(1,0/($H$11:$H$26A11),I$11:I$26) 然后下拉赋值公式,那么得到的值就都是对应的

Moto edge s pro手机 WIFI和蓝牙连接不上 解决方法分享

2021年12月入手一台Moto Edge S Pro 12256版,看着性价比很高,越用越垃圾。屏幕显示没有vivo亮丽/APP图标很丑/屏幕上一点点水就失灵/拍照片边缘是模糊的/系统几乎不更新。 以上都可以忍受,但是: 用一年不到,蓝牙不能…

2024 AIGC 规划:探索交互体验变革及 智能硬件基础设施篇

TL;DR Run LLM/Embedding on Android: https://github.com/unit-mesh/android-semantic-search-kitInference SDK:https://github.com/unit-mesh/inference 正文: 在过去的一年时间里,国内外大中型公司都在探索、引入了 GenAI / AIGC&#xf…

Linux使用Docker完整安装Superset,同时解决please use superset_config.py to override it报错

文章目录 Docker安装Superset流程1. 首先获取镜像2. 生成SSL3. 创建Superset容器4. 更新数据库5. 测试访问Superset Docker安装Superset流程 1. 首先获取镜像 docker pull amancevice/superset2. 生成SSL 接下来我们运行一些额外的程序: openssl rand -base64 4…

数字媒体技术基础之:常见图片文件格式

在数字图像处理和图形设计领域,了解不同的图片文件格式及其特点是至关重要的。每种格式都有其独特的用途和优势。以下介绍一些最常见的图片文件格式。 JPEG Joint Photographic Experts Group 扩展名:.jpg 或 .jpeg 特点: 1、有损压缩&#x…

uni-app报错“本应用使用HBuilderX x.x.x 或对应的cli版本编译,而手机端SDK版本是x.x.x不匹配的版本可能造成应用异常”

uniapp开发的一个跨平台软件,在安卓模拟器上启动的时候报警告: 官方给的解释:uni-app运行环境版本和编译器版本不一致的问题 - DCloud问答 解决办法有两个 方法一:添加忽略警告的配置 项目根目录下找到 manifest.json&#xf…

SpringCloud Alibaba(中):服务熔断降级-Sentinel

Sentinel Sentinel是阿里巴巴开源的分布式系统流量防卫防护组件,主要对分布式系统中的流量进行控制、熔断降级等保护操作。Sentinel的目标是成为互联网级别分布式系统的流量防卫防护组件,它与系统的各个部分集成,保护着系统的入口和出口。 …

金属五要素微型气象仪科技小物大智慧

WX-WQX5S 天气是我们生活中不可忽视的一个因素。冷暖交替,阴晴不定,这款金属五要素微型气象仪,让你随时掌握天气变化,成为生活的智者。 一、外观设计 这款气象仪采用金属材质,不仅耐用,而且具有很高的美观…

百度飞浆环境安装

前言: 在安装飞浆环境之前得先把pytorch环境安装好,不过关于pytorch网上教程最多的都是通过Anaconda来安装,但是Anaconda环境安装容易遇到安装超时导致安装失败的问题,本文将叫你如何通过pip安装的方式快速安装,其实这…

Spring Security OAuth2.0 实现分布式系统的认证和授权

Spring Security OAuth2.0 实现分布式系统的认证和授权 1. 基本概念1.1 什么是认证?1.2 什么是会话?1.2.1 基于 session 的认证方式1.2.2 基于 token 的认证方式 1.3 什么是授权?1.3.1 授权的数据模型 1.4 RBAC 介绍 2. Spring Security2.1 S…

AIGC ChatGPT4 生成Python可视化分析

使用Python进行数据分析,代码可以通过ChatGPT4来完成。 例如Prompt: 产品 销量 P1 48 P2 53 P3 82 P4 57 P5 89 P6 86 P7 30 P8 79 P9 96 将上述数据用Python通过可视化的图表来进行展示 完整代码如下: import matplotlib.pyplot as pltpr…

Java19新增特性

前言 前面的文章,我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16、Java17、Java18 的特性进行了介绍,对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特…

Unity可视化Shader工具ASE介绍——10、ASE实现曲面细分

阿赵的Unity可视化Shader工具ASE介绍目录   大家好,我是阿赵。   之前介绍地面交互的时候,介绍了曲面细分着色器的使用。这个过程,在ASE里面也是可以实现的。关于曲面细分的具体作用,这里就不再重复,如果有兴趣了解…

【Liunx】部署WEB服务:Apache

【Liunx】部署WEB服务:Apache 概述Apache1.介绍2.Apache文件路径3.Apache详解(1)安装Apache(2)启动Apache(3)配置文件a.Apache主配置文件:vim /etc/httpd/conf/httpd.conf信息:b.基于主机头的虚拟主机 (4)开始演示:a.新建两个网站根目录b.分别…

MySQL MVCC机制详解

MySQL MVCC机制详解 MVCC, 是Multi Version Concurrency Control的缩写,其含义是多版本并发控制。这一概念的提出是为了使得MySQL可以实现RC隔离级别和RR隔离级别。 这里回顾一下MySQL的事务, MySQL的隔离级别和各种隔离级别所存在的问题。 事务是由 …

【图论】最小生成树(python和cpp)

文章目录 一、声明二、简介三、代码C代码Python代码 一、声明 本帖持续更新中如有纰漏望指正! 二、简介 (a)点云建立的k近邻图(b)k近邻图上建立的最小生成树 最小生成树 (Minimum Spanning Tree,简称 M…

Python深度数据挖掘之电力系统负荷预测

文章目录 前言1. 案例背景2. 分析目标3. 分析过程4. 数据准备4.1 数据探索4.2 缺失值处理 5. 属性构造5.1 设备数据5.2 周波数据 6. 模型训练7. 性能度量8. 推荐阅读与粉丝福利 前言 本案例将根据已收集到的电力数据,深度挖掘各电力设备的电流、电压和功率等情况&am…

机器视觉工程师,实际上调机仔需要居多,不需要那么多会机器视觉开发的,实际上机器视觉公司根本养不起

不要机器视觉开发等着倒闭,要那么多机器视觉开发是想倒闭,根本养不起。 人力对于机器视觉企业来说,仅仅是成本,也可以是剥削利润。当机器视觉公司开发一款标准软件后,意味着什么?技术可以复制,粘…