当前位置: 首页 > news >正文

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

前言

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

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

一、 应用数据分离架构

1. 简介

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

2. 出现原因

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

3. 架构工作原理

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

4. 架构优缺点

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

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

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

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

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

 二、 应用服务集群架构

1. 简介

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

2. 出现原因

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

3. 架构工作原理

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

4. 架构优缺点

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

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

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

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

               2. 硬件成本高。

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

相关文章:

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

前言 上一篇文章介绍了单机架构,由于性能瓶颈,满足不了高访问量,所以演化出了数据分离架构。 这种架构也很简单只是将应用服务和数据库服务分离开来,避免单一架构的资源争夺的情况。 一、 应用数据分离架构 1. 简介 应用服务和…...

YOLO目标检测——树叶检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:生物多样性研究、林业管理、环境监测和教育科研等方面数据集说明:树叶分类检测数据,真实场景的高质量图片数据,数据场景丰富,总共十个类别。标签说明:使用lableimg标注软件标注,标…...

ubuntu 20通过docker安装onlyoffice,并配置https访问

目录 一、安装docker (一)更新包列表和安装依赖项 (二)添加Docker的官方GPG密钥 (三)添加Docker存储库 (四)安装Docker (五)启动Docker服务并设置它随系…...

Vue 模板语法 v-bind

红色框里面的都是vue的模板。有了模板就得有模板的特殊语法。上面只是简单的双括号加上表达式,这种叫做插值语法,除了这种语法还有其他语法吗? 插值语法实现的功能很单一,就是将指定的值放到指定的位置。还有一种叫做指令语法&am…...

定义宏,字符串、枚举、接口类绑定

在项目中,有一些接口处理类,比如 "value1"对应的类处理使用class Cvalue1 "value2"对应的类处理使用class Cvalue2 使用 X-Macros 技术能够很大程度上帮助我们,减少代码量并且使得代码简洁。 如果我们需要对每一个字…...

盘点30个Python树莓派源码Python爱好者不容错过

盘点30个Python树莓派源码Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 链接:https://pan.baidu.com/s/1LA4cLunntKW3qO5aok3xAQ?pwd8888 提取码:8888 项目名称 PiCar-raspber…...

「Verilog学习笔记」用优先编码器①实现键盘编码电路

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 用此编码器实现键盘的编码电路。 注意:编码器的输出是低电平有效,而键盘编码电路输出的是正常的8421BCD码,是高电平有效。因此将编…...

APT攻击的特点及含义

APT(高级持续性威胁Advanced Persistent Threat)攻击是一种高级、持续性的攻击模式,通过先进的攻击手段对特定目标进行长期持续性的网络攻击,一般针对拥有敏感数据的大型企业及重要机构。 APT攻击的特点 一、目标性强 APT攻击并…...

使用html2canvas插件进行页面截屏

使用纯html实现过程 <!DOCTYPE html> <html><head><title>使用html2canvas生成网页截图</title><script src"https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script> </head><body><h1>…...

Java --- JVM的执行引擎

目录 一、执行引擎概述 1.1、执行引擎的工作过程 二、Java代码编译和执行的过程 三、解释器 3.1、解释器工作机制 3.2、解释器分类 3.3、解释器现状 四、JIT编译器 五、热点代码及探测方式 六、方法调用计数器 6.1、热点衰减 七、回边计数器 八、HotSpot VM设置程序…...

前端学习笔记--node.js

Node Node 可以理解成 ECMAScript 内置的模块组成的&#xff0c;引用第三方模块&#xff0c; npm系统 node package manager。 node是基于js的&#xff0c;前端来写服务端通过node是最方便的&#xff0c;node的性能问题 内部采用的多线程。 node中主线程还是单线程的 &#…...

DB2 常用命令及SQL语句

前言 DB2数据库是由IBM开发的关系型数据库管理系统&#xff08;RDBMS&#xff09;。它是一种功能强大、可扩展和可靠的数据库解决方案&#xff0c;用于存储和管理企业级应用程序的数据。 以下是一些关于DB2数据库的重要信息和特点&#xff1a; 数据模型&#xff1a;DB2数据库…...

spring-boot-starter-data-redis2.X连接redis7

由于redis7引入了acl机制&#xff0c;可以配置用户权限&#xff0c; 比如配置了一个普通用户 test&#xff0c;权限为 test_ 前缀的key可操作 springboot想要连接&#xff0c;并没有设置用户名的地方&#xff0c; 跟了源码&#xff0c;jedis客户端是支持的&#xff0c;但是s…...

PHP中$_SERVER全局变量

在PHP中&#xff0c;$_SERVER 是一个全局数组变量&#xff0c;它包含了有关服务器和当前脚本的信息。$_SERVER 数组中的每个元素都是服务器环境的一个参数&#xff0c;如请求的方法、请求的 URI、客户端 IP 地址等。 PATH 系统环境变量的值&#xff0c;包含了多个目录的路径…...

【ML】欠拟合和过拟合的一些判别和优化方法(吴恩达机器学习笔记)

吴恩达老师的机器学习教程笔记 减少误差的一些方法 获得更多的训练实例——解决高方差尝试减少特征的数量——解决高方差尝试获得更多的特征——解决高偏差尝试增加多项式特征——解决高偏差尝试减少正则化程度 λ——解决高偏差尝试增加正则化程度 λ——解决高方差 什么是…...

服务器数据恢复—服务器发生故障导致数据丢失如何恢复服务器数据?

服务器常见故障&#xff1a; 硬件故障&#xff1a;磁盘、板卡、电源故障等。 软件故障&#xff1a;操作系统崩溃、程序运行错误等。 入侵破坏&#xff1a;加密、删除服务数据等。 不可控力&#xff1a;浸水、火烧、倒塌等。 误操作&#xff1a;格式化、删除、覆盖等。 如何减少…...

SLAM中提到的相机位姿到底指什么?

不小心又绕进去了&#xff0c;所以掰一下。 以我个人最直观的理解&#xff0c;假设无旋转&#xff0c;相机在世界坐标系的(5,0,0)^T的位置上&#xff0c;所谓“位姿”&#xff0c;应该反映相机的位置&#xff0c;所以相机位姿应该如下&#xff1a; Eigen::Matrix4d T Eigen::M…...

《视觉SLAM十四讲》-- 后端 1(上)

文章目录 08 后端 18.1 概述8.1.1 状态估计的概率解释8.1.2 线性系统和卡尔曼滤波&#xff08;KF&#xff09;8.1.3 非线性系统和扩展卡尔曼滤波&#xff08;EKF&#xff09;8.1.4 小结 08 后端 1 前端视觉里程计可以给出一个短时间内的轨迹和地图&#xff0c;但由于不可避免的…...

南昌市西湖区棒球特色规划

西湖区棒球特色学校打造方案 一、项目背景 南昌市西湖区作为江西省的教育强区&#xff0c;一直致力于发展特色教育。近年来&#xff0c;棒球运动逐渐受到广泛关注&#xff0c;西湖区决定将棒球运动作为特色项目&#xff0c;打造一所具有国际水平的棒球特色学校。 二、目标与…...

nginx启动命令

普通启动 切换到nginx安装目录的sbin目录下&#xff0c;执行&#xff1a;./nginx 通过配置文件启动 ./nginx -c /usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 其中-c是指定配置文件,而且配置文件路径必须指定绝对路…...

为什么92%的DeepSeek二次开发团队在6个月内遭遇交付延迟?——基于17个真实项目的技术债务归因分析

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么92%的DeepSeek二次开发团队在6个月内遭遇交付延迟&#xff1f;——基于17个真实项目的技术债务归因分析 在对17个采用DeepSeek-R1/VL模型开展定制化开发的工业级项目进行回溯审计后&#xff0c;我…...

2026年LLM推理加速全景:量化、投机解码与KV Cache工程实战

大语言模型推理速度慢、成本高&#xff0c;是阻碍AI大规模落地的核心障碍之一。一个7B参数的模型&#xff0c;在标准配置下每秒只能生成约30个token&#xff0c;对于需要实时响应的应用来说几乎无法接受。但2026年&#xff0c;一系列推理加速技术的成熟&#xff0c;让这一局面发…...

【深度解析】AI Coding 模型竞速:从 Claude Mythos 安全编码到 GPT-5.6 传闻,如何落地代码审查智能体

摘要 AI 编码模型正在从“代码补全”进入“复杂代码库理解、漏洞发现与自动修复”阶段。本文结合 Claude Mythos、Claude Opus 4.8 与 GPT-5.6 相关信息&#xff0c;解析新一代 Coding Agent 的技术趋势&#xff0c;并给出基于大模型 API 的代码安全审查实战方案。背景介绍&…...

打造XBEE封装BLE112蓝牙模块:硬件设计、射频布局与调试全攻略

1. 项目概述&#xff1a;为什么我们需要一个“XBEE格式”的蓝牙模块&#xff1f;在嵌入式开发和物联网项目中&#xff0c;无线通信模块的选择往往决定了项目的成败。对于很多工程师和创客来说&#xff0c;Silicon Labs&#xff08;芯科科技&#xff09;的BLE112/113模块是蓝牙4…...

3分钟告别英文恐惧:Android Studio中文界面轻松切换指南

3分钟告别英文恐惧&#xff1a;Android Studio中文界面轻松切换指南 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 你是否曾经因…...

3步搞定B站缓存视频转换:m4s转MP4的终极解决方案

3步搞定B站缓存视频转换&#xff1a;m4s转MP4的终极解决方案 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经在B站缓存了珍贵的视频&a…...

独立开发者如何利用Taotoken的TokenPlan在项目初期有效控制AI实验成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何利用Taotoken的TokenPlan在项目初期有效控制AI实验成本 对于独立开发者或学生而言&#xff0c;在构建AI应用原型时&…...

机器学习预测关税冲击下的股市波动:随机森林、SVR、kNN与线性回归实战对比

1. 项目概述与核心问题拆解做量化研究的朋友们&#xff0c;尤其是关注宏观事件对市场冲击的&#xff0c;应该都对“黑天鹅”事件不陌生。政策变动&#xff0c;特别是像关税这种直接影响国际贸易成本和公司利润的宏观变量&#xff0c;往往会在短期内引发市场剧烈波动。传统的做法…...

告别手动映射!用AD域控组策略批量给员工电脑挂载共享盘(Windows Server 2016实战)

企业级共享存储自动化部署指南&#xff1a;基于AD域控的组策略实战每当新员工入职或部门调整时&#xff0c;IT管理员最头疼的莫过于重复配置几十台电脑的共享盘映射。财务部需要访问M盘的报表目录&#xff0c;市场部要连接N盘的设计素材&#xff0c;而手动设置不仅效率低下&…...

3分钟学会Avidemux:开源视频编辑器的完整快速入门指南

3分钟学会Avidemux&#xff1a;开源视频编辑器的完整快速入门指南 【免费下载链接】avidemux2 Avidemux2, simple video editor 项目地址: https://gitcode.com/gh_mirrors/avi/avidemux2 你是否曾因为视频编辑软件过于复杂而放弃剪辑&#xff1f;或者因为专业软件价格昂…...