常见架构类型
目录
1.单机架构
2.应用数据分离架构
3.读写分离架构
4.冷热分离架构
5.垂直分库架构
6.微服务架构
7.容器编排架构
1.单机架构
单机架构是简单的将应用服务和数据库服务部署到同一台机器上。
缺点:存在很大的性能限制。
2.应用数据分离架构
引入负载均衡,将应用负载均衡式的部署到不同的服务器上。

比起单机,多了一个负载均衡模块来平衡地分配任务给不同的主机。
缺点:硬件成本上升
数据库性能存在瓶颈
3.读写分离架构
引入数据库主从模式,将写的数据库作为主数据库(只能有一个,防止脏数据),将读的数据库作为从数据库。

缺点:由于数据库数据需要同步(从库复制主库),同步存在很大的性能限制。
4.冷热分离架构
在访问数据库之前加入一个缓存库(redis),存储经常被访问的数据(热点数据),访问冷门数据时再访问数据库,从而减少数据库负载。
缺点:缓存存在击穿问题
5.垂直分库架构
一个主从数据库集群 ==> 多个负责不同功能的主从数据库集群。

缺点:代码强耦合
6.微服务架构
将应用服务拆为多个微服务,同时实现微服务复用。
也可以解决系统升级必须重构的问题和单个项目代码强耦合的问题。
缺点:运维压力很大
7.容器编排架构
借助docker等容器化技术,将应用服务打包成镜像,通过编排工具如k8s来动态分布和部署镜像。
实现快速部署,减少运维压力,并且解决配置冲突问题。
总结:本质上架构负载的提升只有两个方向:垂直方向和水平方向。
垂直方向:
通过加上层或者下层来将请求分流。
水平方向:
增加兄弟来为自己减少压力,团结力量大。
相关文章:
常见架构类型
目录 1.单机架构 2.应用数据分离架构 3.读写分离架构 4.冷热分离架构 5.垂直分库架构 6.微服务架构 7.容器编排架构 1.单机架构 单机架构是简单的将应用服务和数据库服务部署到同一台机器上。 缺点:存在很大的性能限制。 2.应用数据分离架构 引入负载均衡&a…...
搭建Web服务器并用cpolar发布至公网访问
本地电脑搭建Web服务器并用cpolar发布至公网访问 文章目录 本地电脑搭建Web服务器并用cpolar发布至公网访问前言1. 首先在电脑安装PHPStudy、WordPress、cpolar2. 安装cpolar,进入Web-UI界面3. 安装wordpress4. 进入wordpress网页安装程序5. 利用cpolar建立的内网穿…...
NanoPi NEO移植LVGL8.3.5到1.69寸ST7789V屏幕
移植前准备 移植好fbtft屏幕驱动 参考链接:友善之臂NanoPi NEO利用fbtft驱动点亮1.69寸ST7789V2屏幕 获取源码 名称地址描述lvglhttps://github.com/lvgl/lvgl.gitlvgl-8.3.5lv_drivershttps://github.com/lvgl/lv_drivers.gitlv_drivers-6.1.1 创建工程目录 创…...
阿里云服务区ECS,申请免费的服务器之后,如何使用xshell 登陆,找不到匹配的host key 算法
目录 1 问题2 解决 1 问题 当在阿里云免费领取服务器之后,使用xshell 登陆不上,提示 找不到匹配的host key 算法 或者 找不到匹配的keyexchange算法 咋解决 2 解决 在在服务器端配置文件:/etc/ssh/sshd_config # 在行尾增加",ecdh…...
【CTF-web】备份是个好习惯(查找备份文件、双写绕过、md5加密绕过)
题目链接:https://ctf.bugku.com/challenges/detail/id/83.html 经过扫描可以找到index.php.bak备份文件,下载下来后打开发现是index.php的原代码,如下图所示。 由代码可知我们要绕过md5加密,两数如果满足科学计数法的形式的话&a…...
C#和Java的大端位和小端位的问题
C#代码里就是小端序,Java代码里就是大端序, 大端位:big endian,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,也叫高尾端 小端位:little endian,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存…...
如何在 iOS 上安装并使用 ONLYOFFICE 文档
借助 iOS 版文档应用,您可在移动端设备上访问存储于 ONLYOFFICE 账户中的文件,查看和编辑现有文本文档、电子表格和演示文稿,创建新文档并对其进行整理,以及连接第三方云存储服务。您可与其他门户网站用户协作编辑文档,…...
【AI】如何用AI生成XMind思维导图
哈喽,大家好,我是木头左,物联网搬砖工一名,致力于为大家淘出更多好用的AI工具! 背景 随着人工智能技术的不断发展,越来越多的应用场景开始涉及到AI技术。在办公软件领域,XMind是一款非常受欢迎…...
k8s问题汇总
作者前言 本文章为记录使用k8s遇到的问题和解决方法,文章持续更新中… 目录 作者前言正常配置ingress,但是访问错误添加工作节点报错安装k8s报错使用kubectl命令报错container没有运行安装会出现kubelet异常,无法识别删除k8s集群访问dashboa…...
打造专属照片分享平台:快速上手Piwigo网页搭建
文章目录 通过cpolar分享本地电脑上有趣的照片:部署piwigo网页前言1.Piwigo2. 使用phpstudy网页运行3. 创建网站4. 开始安装Piwogo 总结 🍀小结🍀 🎉博客主页:小智_x0___0x_ 🎉欢迎关注:&#x…...
OpenAI全球招外包大军,手把手训练ChatGPT取代码农 ; 码农:我自己「杀」自己
目录 前言 OpenAI招了一千多名外包人员,训练AI学会像人类一样一步步思考。如果ChatGPT「学成归来」,码农恐怕真的危了? 码农真的危了! 当时OpenAI也说,ChatGPT最合适的定位,应该是编码辅助工具。 用Cha…...
船舶法兰盘法兰管件3D扫描尺寸测量|三维扫描检测|CAV测量-CASAIM
第一章 服务背景 船舶建造多采用分段建造法,即将零件、预装好的部件在胎架上组合焊接成分段或总段,然后由船台装配成整船的建造方法。而当船体合拢组装时,在船体上遍布着各种各样的管道,这些管道都需要互相完全适配以确保船体安装…...
每天一道leetcode:1218. 最长定差子序列(动态规划中等)
今日份题目: 给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何…...
C#的 Settings.Settings配置文件的使用方法
1、定义 在Settings.settings文件中定义配置字段。把作用范围定义为:User则运行时可更改(用户范围的字段数据更改存储在用户信息中,不在该程序文件中),Applicatiion则运行时不可更改。可以使用数据网格视图(VS软件的Properties 下面的Setting…...
神经网络基础-神经网络补充概念-35-为什么正则化可以减少过拟合
概念 正则化可以减少过拟合的原因在于它通过限制模型的复杂性来约束参数的取值范围,从而提高了模型的泛化能力。过拟合是指模型在训练集上表现很好,但在未见过的数据上表现不佳,这通常是因为模型过于复杂,过多地拟合了训练数据中…...
Glide 的超时控制相关处理
作者:newki 前言 Glide 相信大家都不陌生,各种源码分析,使用介绍大家应该都是烂熟于心。但是设置 Glide 的超时问题大家遇到过没有。 我遇到了,并且掉坑里了,情况是这样的。 调用接口从网络拉取用户头像,…...
使用requests如何实现自动登录
不知道大家有没有注意到,好多网站我们登录过后,在之后的某段时间内访问该网页时,不会给出请登录的提示,时间到期后就会提示请登录!这样在使用爬虫访问网页时还要登录,打乱我们的节奏,那么如何使…...
【代码随想录-Leetcode第六题:209. 长度最小的子数组】
209. 长度最小的子数组 题目思路代码实现 题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回…...
部署LVS-DR群集
LVS的工作模式及工作过程 LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式)、VS/DR(路由模式)、VS/TUN(隧道模式)。 1、NAT模式(VS-NAT) 原理:首先负载均…...
建库、建表、修改表、复制表、字符类型、数值类型、枚举类型、日期时间类型、检索目录、数据导入命令、数据导入步骤、数据导出命令、非空、默认值、唯一索
Top NSD DBA DAY04 案例1:表管理案例2:数据类型案例3:数据批量处理案例4:表头基本约束 1 案例1:表管理 1.1 问题 建库练习建表练习修改表练习 1.2 方案 在MySQL50主机完成练习。 1.3 步骤 实现此案例需要按照如…...
STM32 的IIC通信接收和发送详解
STM32 的 IIC 通信:IIC 接收和发送详解 1. 前言 IIC,也常写作 I2C,是单片机开发中非常常用的一种同步串行通信协议。 在 STM32 项目中,很多外设模块都会使用 IIC 通信,例如: OLED 显示屏;EEPROM…...
如何解决Noah-MP陆面模型编译与配置中的三大技术挑战
如何解决Noah-MP陆面模型编译与配置中的三大技术挑战 【免费下载链接】NoahMP 项目地址: https://gitcode.com/gh_mirrors/no/NoahMP Noah-MP(Noah with Multi-Parameterization options)作为先进的陆面过程模型,在水文循环模拟、能量…...
Taotoken Token Plan套餐为高频用户带来的长期成本优势感知
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken Token Plan套餐为高频用户带来的长期成本优势感知 对于高频使用大模型API的开发者或团队而言,项目开发中的模…...
Zotero Format Metadata:让文献元数据格式化变得简单高效
Zotero Format Metadata:让文献元数据格式化变得简单高效 【免费下载链接】zotero-format-metadata Linter for Zotero. A plugin for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and item …...
终极指南:5步解锁完整Koikatu游戏体验的HF Patch安装方案
终极指南:5步解锁完整Koikatu游戏体验的HF Patch安装方案 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch 你是否曾经为《恋活…...
SoC设计全流程解析:从架构到流片的核心步骤与挑战
1. 项目概述:从“黑盒子”到“城市蓝图”每次拿起手机,我们都在与一个极其复杂的微型“城市”互动。这个城市,就是SoC。对于很多刚入行的朋友,甚至是一些有经验的软件工程师来说,SoC常常像一个“黑盒子”——我们知道它…...
从零到一:手把手完成Keil5 MDK环境搭建与ST-LINK驱动配置
1. 开发环境搭建前的准备工作 第一次接触STM32开发的朋友们,看到各种专业术语可能会有点懵。别担心,我刚开始也是这样。咱们先理清几个基本概念:Keil MDK是ARM公司推出的专业嵌入式开发工具,ST-LINK则是ST官方推出的调试下载器。…...
无线门铃、车库遥控与物联网:聊聊OOK(2ASK)调制那些老技术的新应用
无线门铃、车库遥控与物联网:聊聊OOK(2ASK)调制那些老技术的新应用 在智能家居和物联网设备大行其道的今天,一种诞生于上世纪中期的通信技术——OOK(On-Off Keying)调制,依然活跃在无线门铃、车…...
知识竞赛选手排位抽签系统使用全解析
🎲 知识竞赛选手排位抽签系统使用全解析公平 透明 高效 让每一场竞赛从起点就值得信赖🎯 引言:为何需要专业的抽签系统在知识竞赛活动中,选手的排位与分组抽签是确保竞赛公平、公正的起点。传统的人工抽签方式不仅效率低下&…...
RK3588开发板Debian系统从零配置到实战:安全加固、Docker部署与性能调优
1. 项目概述:从零上手TL3588的Debian系统最近在折腾一块基于瑞芯微RK3588芯片的开发板,型号是TL3588。这板子性能是真不错,八核CPU加上强大的NPU,拿来做边缘计算、多媒体网关或者轻量级服务器都挺合适。但刚拿到手,面对…...
