




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 高性能、高可用平台系统架构的演变开篇概述在如今移动互联网、互联网+、大数据的时代,各类的互联网网站、平台异常突起,如同雨后春笋,有种“忽如一夜春风来,千树万树梨花开”感觉。对于移动互联网时代的平台来说,用户的体验感是否良好?平台的稳定性是否良好?估计是对所有互联网平台来说两大头等要素吧,的确,移动互联网时代,流量就是市场价值,说白了就是收益,就是RMB,失去了流量,那么你也就失去了赚取收益的机会与机遇。 因此,对于互联平台或网站来说,网站的高可用、不间断服务也是平台运营过程中的一个重大决定因素,比如说某平台,三天两头的故障,打不开,又或者说,经常性的出现错误、访问超时等等问题,那么用户的流失
2、机率就会随之增加。 那么今天我们就来聊一聊各类高可用架构的一个演变过程到底是如何的?此文民工哥用时三小时总结写作完成,希望对大家有所帮助,欢迎大家拍砖、留言、点赞、转发分享以支持。什么是高可用?“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。简而言之,就是不间断对外提供服务。架构之初架构图架构简述这类架构比较适用于初创企业或流量较小的平台。此种架构一般都是在平台运行之初所用到的架构,日均PV不大,简单的架构足以能够应对用户的流量请求,比如前端网站使用Apache/nginx都可以,APP服务器直接使用JAVA环境如
3、tomcat应用,互联网平台的数据库大部分使用Mysql,备份服务器一般都备份一些常用的配置、代码、数据库数据的备份文件等。因此,民工哥称它为架构之初。架构中期随着用户数量的增长、访问量的增加,随之而来的问题就是单台服务器已无法承受用户的访问流量,因此前期的基础架构就需要面临一定的调整,大概调整如下架构图架构简述这类架构就此引入了负载均衡的概念,关于应用的负载均衡,前面也有相关的文章介绍,具体文章链接如下 HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484430&idx=1&sn=a81bb9b328eedc96fb0c60c40b32c68f&chks
4、m=e91b6112de6ce80466be1de37c8502cca822fcf0dadeee5a8d2a7e470465d85f971e011454b1&scene=21 l wechat_redirect t _blank Nginx反向代理负载均衡配置 HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484510&idx=1&sn=7f0a5693082ee4f1f4243d044d41aa0d&chksm=e91b6142de6ce854349f720a877526f13d77d4128a51892d97f5141910ee780fc60d8beb
5、a68b&scene=21 l wechat_redirect t _blank Nginx+Tomcat多实例及负载均衡配置 HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484715&idx=1&sn=33584deaa3158ead4e45bf8e4828fb4f&chksm=e91b6037de6ce921bfba1e44d6d1180da325da5e76c68239a60c5d4ac2d267693584d6e90d7f&scene=21 l wechat_redirect t _blank Apache服务的反向代理及负载均衡配置负载均衡的开
6、源软件较多,通常会有以下两种方式硬件负载F5 7层或者4层网络代理软件负载nginx、haproxy开源负载均衡软件负载均衡的算法通常有:轮询法随机法源地址哈希法加权轮询法加权随机法最小连接数法具体使用何种方式,一切以企业实际需求、投入与产出比(成本考虑)为主,但是此类架构也有一定的缺点存在,暂时不考虑前端负载设备的高可用,比如用户的上传与查看文件问题(通过A服务访问上传,然后负载查看时是通B服务器的,就会造成用户无法查看的问题),APP服务器同理;数据库服务器存在主、从库单点问题,一旦故障,可以手工进行故障切换,但是可能会造成数据丢失或不统一,并且会在一定程度上给用户造成不好的体验;因此仍需
7、演变。架构图架构简述此架构在上面的架构基础,以应对各类问题做出的修改,增加了数据存储服务器(NFS共享存储 HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484287&idx=1&sn=e1b2da12a3d93190b1d2a6a7e73eb88b&scene=21 l wechat_redirect t _blank Linux系统NFS网络文件系统),对于存储架构及源件,其实挺多的,具体有以下几种开源软件服务1、NFS网络共享存储文件系统2、FastDFS 轻量级网络文件系统(参考文章: HYPERLINK /s?_biz=MzI0MDQ4MTM5N
8、Q=&mid=2247485115&idx=1&sn=d83453913420dd0a15fbc45b5c509f9a&chksm=e91b63a7de6ceab1e1c9d98678c6616183d9f23b5b7cf1599fbe78128d3ce68b2a0a491289ce&scene=21 l wechat_redirect t _blank 分布式文件系统FastDFS详解)3、分布式文件系统MooseFS4、GlusterFS文件系统并配置负载均衡、并且还解决了单点故障的问题,对于数据库服务器做出了一定的架构调整,为双主多从的架构,对于数据库的各种高可用架构,前面也有文章做过分
9、析,具体如: HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484844&idx=1&sn=48da7e08cb16c70e935964b88574bc74&chksm=e91b60b0de6ce9a62b6fbefd2cb522f812aa61bbf9be99e5dc1414bae3b38799cbd8c28a8e1b&scene=21 l wechat_redirect t _blank 浅谈MySQL集群高可用架构 HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484990&idx=1&sn=e6b5c0bde0
10、b1f88cf5fe6a59b85a1d4c&chksm=e91b6322de6cea34ba1ad08943fc33a5075481d04cbb48cce9af934efd6bf7c3152317a7d659&scene=21 l wechat_redirect t _blank MySQL集群高可用架构之MHA但是所有架构都是要以实际需求(如对数据完整性、一致性的要求为主),从而解决主库单点问题、从库读取量大的性能问题,保证在一定量用访问时的平台性能与高可用架构终期架构图架构简述架构演变到一定程度,仅通过平行的扩展或增加服务器数量可能已无法解决相关的性能问题,因此第一在用户访问初始阶段就会
11、使用CDN加速技术,来提高用户的访问体验度;第二按照业务来拆分成不同的服务,通过拆分服务、相同服务布署多个实例的架构来达到扩展的目的,来提高一定的性能,也能保证平台的高可用性;服务拆分后,也能一定限度的解决发布问题,因为服务之间彼此独立,服务之间耦合性不强,也比较方便平时的维护;第三,对于用户与数据库之间的瓶颈问题,考虑加上缓存技术来提高一定的访问性能与高可用性,让用户的访问流量在到达数据库之前直接过滤掉一部分,甚至一大半,从而减轻数据库访问压力,在查多写少的场景,非常适用使用缓存来提升查询服务的性能,减轻对数据库的压力。通常使用redis作为缓存服务器,redis的一些集群机制能很大程度上保
12、证缓存服务的高可用性( HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484546&idx=1&sn=d2afa23bad2bf25a4f551bfebba3d65f&chksm=e91b619ede6ce8888c3089ab458d9d153e9684511dd7d63a0e9369be763782b97ea5efb3dd56&scene=21 l wechat_redirect t _blank Redis集群生产环境高可用方案实战过程),缓存服务故障时,还能从数据库获取信息。然后对于备份服务器也简单的做调整保证数据的完整性,一方面也能及时保障应用的
13、高可用性;其实一些大型分布式的系统在缓存这块还是比较倾向于memcached服务( HYPERLINK /s?_biz=MzI0MDQ4MTM5NQ=&mid=2247484537&idx=1&sn=84b9d90c67cdc2efe16b06b1e0e0c2cc&chksm=e91b6165de6ce8733eaaefff773132b6e85415cc779652c9514575d571f51dcced781a10ffef&scene=21 l wechat_redirect t _blank Linux系统Memcached服务介绍),比如像一些用户的登录信息同步到其它系统此种场景,一般布署在前台应用层与数据存储层中间,应对前端应用大量请求与快速响应,从而减少数据库的访问压力,也能提高用户的访问体验度。也有一部分平台架构是采用分层的方式前端应用层:给用户提供页面展示、查找、搜索的界面及相关的最终结果显示页面后端服务层:一般包括像常用的后台服务、用户管理、接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程监理报告3
- 2024-2025学年高中物理第3章恒定电流第3节焦耳定律课时作业含解析鲁科版选修3-1
- 2024-2025学年高中物理第6章万有引力与航天第5节宇宙航行课时分层训练新人教版必修2
- 工业泵配件项目可行性研究报告
- 体温计的不良事件报告表
- 2024-2030年中国法莫替丁片行业市场发展监测及投资方向研究报告
- 能源管理项目可行性分析报告(模板参考范文)
- 2024年仿石材漆项目可行性分析报告
- 2025年木制建筑装饰材料行业深度研究分析报告
- 宁波智能巡检机器人项目申请报告
- 2024年企业规章制度修订方案
- 聚焦任务的学习设计作业改革新视角
- 血管活性药物静脉输注护理方法(中华护理学会团体标准T CNAS 22-2021)
- 史上最完善IPD培训资料华为IPD培训资料
- 2024高二语文期末试卷(选必上、中)及详细答案
- 《选材专项训练》课件
- 附着式升降脚手架安装平台和架体检查验收表
- 小儿麻疹的护理查房
- DL-T 2574-2022 混流式水轮机维护检修规程
- 《钢铁是怎样炼成的》读书分享课件
- GB/T 19830-2023石油天然气工业油气井套管或油管用钢管
评论
0/150
提交评论