大型网站技术架构的学习笔记(一)

本文介绍了大型网站架构从单一服务器到分布式服务的演进过程,包括应用与数据分离、使用缓存、负载均衡、数据库读写分离、CDN与反向代理、分布式文件与数据库系统、NoSQL及搜索引擎应用、业务拆分等关键步骤。

最近读了这本《大型网站技术架构》的书,写的还不错,挺入门,了解了很多东西,书还没看完,总结一下之前的知识;

一、大型网站架构的演化

1、初始阶段的网站架构

小型网站的基础架构,一台服务器可以包办所有的事情,毕竟业务和访问量都不大。LAMP架构,开源免费省钱。


图1

2、应用服务器和数据服务分离

随着业务发展,一台服务器运转不过来了,于是,很自然的将应用和数据进行了分离,出现了新的架构。


图2

3、使用缓存改善

随着用户逐渐增多,上一种方式中,对数据库读写的增加,导致了访问延迟,降低了用户体验。其实80%的业务使用的是20%数据,淘宝、百度购买和搜索热门关键词,难不成每次都要访问数据库?那么如何能够很快的读取呢?使用缓存技术可以完美的解决这个问题,从内存中读取数据比从硬盘中读取快了多少倍,缓存本质上就是内存中的一个HashMap,对应存在键值对,能够快速找到需要的数据,但是同时也带来很多问题,(1)缓存什么时候更新才能避免读取脏数据;(2)缓存的命中率问题,如果缓存命中率过低,那么程序还是会去读取数据库,没有起到作用;(3)缓存服务器需要预热,新增的缓存服务器中没有任何数据,需要预热将热门数据加入到该服务器;(4)分布式缓存服务器更加复杂,每台服务器中存的数据必然是不一样的,从哪台服务器取数据也需要优良的算法。


图3

4、应用服务器集群

使用负载均衡技术应当是最简单粗暴的技术了吧,可以改善应用服务器负载压力过大的问题。


图4

5、数据库读写分离

虽然使用了缓存技术,但是还会有一部分数据通过读取数据库,同时所有的写操作也需要通过数据库,数据库服务器又撑不住了。。可以通过配置两台数据库,设置主从关系,两台服务器主从热备,同步数据,一台负责写,一台负责读;


图5

6、使用CDN和反向代理服务器加速

说到底,CDN和反向代理依然是缓存技术,只不过部署的地方不同,CDN(内容分发网络)主要部署在网络供应商的机房(当然大型网站也可以架设自己的CDN服务器),用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取缓存的数据;而反向代理主要部署在网站的中心机房,如果有相应的缓存数据,直接返回;


图6


7、使用分布式文件系统和分布式数据库系统

在将之前的一台数据库服务器拆分成两台后,随着用户大量增加,数据库服务器又一次地不堪重负了。。分布式数据库是最后的手段,更多的是业务分库,将不同业务的数据库分别部署在不同的服务器上。


图7 

8、使用NoSQL和搜索引擎

随着网站发展,需要一些非关系型数据库技术和非数据库技术如搜索引擎;


图8

9、业务拆分

可以将整个网站业务进行拆分,分成不同的产品线,如淘宝的订单、评价、商品详情等等拆分开,部署在不同的服务器集群中


图9

10、分布式服务

既然每一个应用系统都需要执行许多相同的业务操作,比如用户管理、商品管理等,那么可以将这些共用的业务提取出来,独立部署;由这些可复用的业务连接数据库,提供共用业务服务,而应用系统只需要管理用户界面,通过分布式服务调用共用业务服务完成具体业务操作。


图10

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值