穿越回过去,妹纸怎么活(分布式架构演化)

本文讲述了随着互联网业务量的增长,网站架构从单机架构逐步演进到分布式架构的过程。包括单机架构、多机架构、集群架构及分布式架构的特点与应对高并发的策略。
2.1 从一个故事说起

2.2 访问量驱动架构
2.3 单机架构
2.4 多机架构-三分天下
2.5 集群架构-负载均衡
2.6 分布式架构-MySQL分表分库分片
2.7 小张讲解
2.8 课后作业

2.1 从一个故事说起



7月7日,晴,外面下起了小雨,屋里女朋友盯着手机,各种淘宝,各种衣服...  目不转睛的看着手机屏幕。

而我呢,盯着没有信号的电视发呆...思绪一下子就回到了好多年前。

2006年7月7日,路上,熙熙攘攘的人群,好多妹纸在逛街,女人天生就喜欢买衣服,你去到步行街的only, 优衣库的品牌店看看,

大把的妹纸好像等着你一样!

2009年7月7日,互联网一下子火爆起来,抢车位、偷菜这些社交游戏十分火爆,有的妹纸为了偷好友的菜,竟然晚上一直守到了

凌晨3点,除了买衣服还有什么事情可以让妹纸熬夜到这么晚呢。



2012年7月7日,随着社交游戏的褪去,妹纸们依旧是回到了购物买衣服这件事情上面来了,只是这次不是逛街,而是网上逛淘宝,想想那会

女朋友偶尔打开电脑开个把小时网页,看看衣服购物,因为当时物流还不是非常的发达,不是经常网上购物,很多时候还是会去步行街逛逛。

2016年7月7日,晃了一下神,整个人回到了现在,旁边,女朋友还在看着手机,逛着唯品会,雨也还在下着,可想而知,如今移动互联网的

发达,已经没有多少妹纸愿意去逛街了,东门步行街人少了,华强北没落了,波司登、利郎、百丽、佐丹奴、安踏、九牧王、七匹狼这些传统

知名品牌接连关店了。

这到底是好事还是坏事呢,互联网带给我们很多方便和快捷,但是似乎让我们少了很多购物的乐趣和面对面的沟通。

世界上最遥远的距离是我和你在一起,而你却在玩手机。

亲爱的,洗洗睡了吧。。

2.2 访问量驱动架构


为什么说是访问量驱动架构的变革呢?

技术的发展离不开业务的需求,如果我们网站一天的访问量只有几百人,我们还需要做分布式架构吗,我肯定的说:不需要。

当用户访问量达到了几万或者几十万的PV访问,单机架构肯定是支撑不了的,这个时候就需要新的架构,但不一定是分布式,

这个就是 “量(访问量)变到质(架构)变”。一定的访问量以后,需要新的架构来支撑整套系统,不然系统就崩溃了。

为什么会有如今这么复杂的各种架构呢,得益于电商的发展,得益于中国劳动人民的人群基数,我代表。。额,代表我自己

感谢大家了 :).

架构是一直在发展的,除了分布式,现在比较流行的 微服务架构也正在快速的发展。

上一节通过不同时期的生活场景,让大家感受到互联网的发展,以及各个阶段所用的架构是怎么样的,下面就介绍各个时期所用的架构。


2.3 单机架构


每个开发者都会经历一遍这个架构,现在来看,他实在是太简单了,让很多人都以为他不是一种架构,小张想说的就是,

这是最简单的单机架构,现在物资生活丰富了,大家一个人会有很多部手机,如果你有废弃的手机不妨拿来做个服务器,

手机做服务器,这也是单机架构的一种实践。

小张推荐一款Android 下面的APP ksweb ,下载安装十分简单,安装好了以后就可以启动一个网站服务器,通过

http://ip:8080 网页就可以访问了。



KSWEB

ksweb 里面包含 php应用服务器,Mysql的数据库,以及文件系统。

单机架构图如下:



单机架构图

应用服务器,数据库,文件系统全部放在一台物理服务器上面。

谁有胆量的把地址发到朋友圈,叫上你朋友圈里所有人,来访问你的手机,看看能不能像三星手机有种爆炸的效果.



2.4 多机架构-三分天下



单机已经被我们玩坏了,这个时候自然有人要出来解决问题了,如何解决呢

最容易想到的方法就是,把应用服务器、数据库、文件系统分开,把他们三,三分天下

于是,架构图就演化成下面这样:



多机架构图

这个很简单,是吧,把应用服务器、数据库、文件系统分别放到三台不同的物理机上,来分摊压力。

但是你不能小看中国妹纸们的力量,电商的爆发,让她们的购物的欲望得到了释放,

简单的多机架构已经撑不住了,也是妹纸们的欲望成就了我们,能让我们做出更好的架构。

2.5 集群架构-负载均衡


因为我们现在已经将应用服务器、文件系统、数据库分离到三个不同物理机上了,

我们可以针对每台物理机上面的系统做优化,访问量爆增以后,并发量大,最先撑不住的就是应用服务器了,

这个时候我们对应用服务器这部分做一个集群的架构,然后对这个集群做负载均衡,

简单来说,现在应用服务器是一台物理机,我们用多台物理机来对应用服务器做集群,然后访问量来了以后

利用负载均衡的技术将访问量分摊到不同的物理机上,这样访问量被分摊了,每台机承受的压力就小了,

并且这种架构还有很强的扩展性,如果碰到双11 访问量徒增,我们可以通过增加集群机器的方式来进行扩展。

这种集群架构的架构图如下:


集群架构图


2.6 分布式架构-Mysql分表分库分片


但是如果真的是双11 ,上面的架构就真的可以满足一天十几亿次的访问量吗,当然是不可能的,

这里先介绍一个木桶效应:



木桶效应


木桶是有很多竖着的板子围起来了的,整个木桶能装多少水并不是高的那块板决定的,而是由最短的那块板决定,

这就是木桶效应,而木桶效应同样的适用于架构设计

集群架构只是解决了整个系统中应用服务器这一块的性能,而瓶颈(短板)在数据库这一块,所以整个系统性能的提高

还得提高数据库这一块的性能。

但是数据库这一块可不可以像应用服务器那样做个集群,来提高性能呢,这个就要从应用服务器和数据库在整个系统中的定位来分析了,

应用服务器 只是对 用户的访问请求作处理

数据库是对业务的数据做存储、查询,还有事务处理等,涉及到数据的操作,会有多表查询,数据一致性的考虑。

所以从这方面来看,数据库这一块似乎要复杂很多,应用服务器的每个请求都是独立的,所以可以任意分布到集群的任何物理机上。

如果将数据也任意分布到数据库集群的任意物理机上,那么等你查询的时候,就完全不知道如何来查了。

这样,拿Mysql 为例,我们要他的性能作提升,就需要 利用一定的 分库分表策略 来进行,而这部分的工作就交由 Mysql数据库中间件Mycat  来做。

这种架构我们称之为分布式架构,如图:



分布式架构图

理解了Mycat 在整个系统中的定位 ,有利于接下来我们对他的学习, 学习Mycat之前,我们还将进行一些Mysql数据库的知识预备。


2.7 小张讲解


> 关于架构的衍生

用集群架构来说,如果用户访问量并发量刚刚上来,我们不用急于改变整体架构,因为这样重新架构一个正在生产的系统,代价是

非常大的,我们可以通过缓存的机制,来提高性能,提高整个系统性能的方法在于找到那个短板,影响性能的短板,然后进行优化,

系统的短板在于数据库,数据库的短板在于IO,所以通过缓存可以降低IO的读写,有利于系统性能的提升。

> Mysql 读写分离

在不使用分表分库,数据分片之前,我们还可以对 Mysql数据库进行 读写分离,具体如何在实际项目中来做,我们在后面会利用

阿里云来进行实战操作。

2.8 课后作业

1. 架构发展路线图

2. 如何优化系统性能的思路

3. 何为木桶效应

4.如何运用缓存技术提高系统性能



本文原创小张,转载请注明来源地址小张博客

下载代码方式:https://pan.quark.cn/s/4dd9e377add0 【Origin斜率计算插件】是一款专为Origin 8.0环境开发的专用软件工具,其核心作用在于协助用户高效且精确地测定数据曲线的斜率值。Origin作为一款功能完备的科学数据分析与图形绘制软件,在科研及工程多个领域得到了广泛的应用。在科学研究过程中,斜率计算占据着核心地位,例如在物理学领域涉及速度与加速度的测算,化学反应速率的评估,生物医学研究的应用,以及工程问题的解决方案中均具有不可或缺的作用。 此插件的部署流程极为便捷,用户只需将压缩文件展开,随后将内部的Tangent.opk文件直接传送至正在运行的Origin 8.0软件操作界面中。这种直观的操作模式让用户无需经历繁琐的步骤即可完成插件的部署,从而有效提升了工作效率。 Origin 8.0的斜率计算性能主要体现在以下几个层面: 1. **曲线拟合**:Origin具备对多种线性与非线性曲线进行拟合的能力,用户能够借助拟合所得的数据点来求解曲线的斜率。这对于洞察数据变化趋势及模型验证具有决定性意义。 2. **数据处理**:在Origin平台中,用户可以便捷地导入实验数据,并对这些数据进行筛选、排序、平滑等初步处理,从而保障斜率计算的可靠性。 3. **图层操作**:Origin允许用户在不同图层之间进行操作,这在分析多个数据集时显示出显著优势。用户可以在每个图层上独立进行斜率计算,以便对比不同情境下的结果。 4. **Tangent分析**:该插件的核心特性在于能够在曲线图上自动或手动添加切线,并直接获取切线的斜率值。用户能够选择特定的点或区间,进而计算出瞬时斜率或平均斜率。 5. **自定义脚本**:Origin支...
内容概要:本文围绕需求响应动态冰蓄冷系统及其需求响应策略的优化展开研究,利用Matlab进行代码实现与仿真分析。研究聚焦于冰蓄冷系统在电力负荷削峰填谷中的关键作用,通过构建系统的能耗模型与需求响应机制,优化冷负荷调度策略,旨在降低用电成本、提升能源利用效率,并增强电网运行的稳定性与灵性。文中系统阐述了系统建模方法、多目标优化问题的构建(涵盖经济性与舒适性)、约束条件的设定以及智能优化算法(如遗传算法、粒子群优化等)的应用过程,最终求解出在分时电价等激励政策下的系统最优运行方案,为实际工程应用提供理论支持与技术路径。; 适合人群:具备一定电力系统、暖通空调(HVAC)、能源管理或自动化控制背景,熟悉Matlab编程语言与基本优化算法,从事相关领域科研或工程应用的研究生、工程师及技术人员。; 使用场景及目标:①应用于工业园区、大型商业综合体、公共建筑等配备冰蓄冷系统的场所,进行节能优化设计与运行策略制定;②支撑电力系统需求侧管理、虚拟电厂构建及智能调度的研究与实践;③为实现“双碳”战略目标下的低碳、高效、灵的综合能源系统提供关键技术参考与仿真验证工具。; 阅读建议:读者应结合提供的Matlab代码与理论模型进行同步学习,重点关注系统建模的物理逻辑、目标函数的设计思路与优化算法的具体实现细节,建议动手调试不同参数(如电价信号、负荷水平)以深入理解需求响应机制对系统调度效果的影响。
内容概要:本文研究了一种应用于太阳能发电系统的多级逆变器,旨在通过采用正弦脉宽调制(SPWM)技术有效降低输出电流的总谐波失真(THD),从而提升电能质量和系统稳定性。研究系统地阐述了多级逆变器的拓扑结构设计原理,深入分析了SPWM调制策略的工作机制及其在谐波抑制中的关键作用,并在Simulink仿真环境中构建了完整的系统模型,对不同工况下的动态响应性能与稳态输出波形进行了仿真验证。结果表明,该方案能显著改善输出电压波形,降低THD指标,增强系统的可靠性和效率。; 适合人群:具备电力电子技术、新能源发电系统基础知识,从事光伏逆变器拓扑设计、控制算法开发及相关仿真实践的研究生、科研人员及电气工程领域工程技术人员。; 使用场景及目标:①应用于太阳能光伏发电系统中逆变环节的谐波治理与波形优化设计;②为电力电子变换装置的SPWM控制策略开发、参数整定及仿真分析提供技术参考;③适用于高等院校电力电子与电力传动课程的教学实验、课程设计及科研项目的性能验证与方案对比研究。; 阅读建议:建议结合MATLAB/Simulink仿真平台进行动手复现,重点关注SPWM信号发生模块的设计、载波与调制波参数的匹配、多级逆变主电路的搭建及THD分析工具的使用,通过调整调制比和载波频率等参数,对比不同方案下的谐波含量,深入掌握SPWM在多电平逆变器中的应用机理与优化方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值