互联网架构“高并发”到底怎么玩?
副问题[/!--empirenews.page--]
最近留言问“高并发”的伴侣颇多,公家号又不支持汗青文章检索,故从头优化宣布,但愿各人有收成。 什么是高并发? 高并发(High Concurrency)是互联网漫衍式体系架构计划中必需思量的身分之一,它凡是是指,通过计划担保体系可以或许同时并行处理赏罚许多哀求。 高并发相干的常见指标有哪些?
什么是相应时刻? 体系对哀求做出相应的时刻。 譬喻:体系处理赏罚一个HTTP哀求必要200ms,这个200ms就是体系的相应时刻。 什么是吞吐量? 单元时刻内处理赏罚的哀求数目。 什么是QPS? 每秒相应哀求数。在互联网规模,这个指标和吞吐量区分的没有这么明明。 什么是并发用户数? 同时承载正常行使体系成果的用户数目。 譬喻:一个即时通信体系,同时在线量必然水平上代表了体系的并发用户数。 怎样晋升体系的并发手段? 互联网漫衍式架构计划,进步体系并发手段的方法,要领论上首要有两种:
什么是垂直扩展? 垂直扩展是指,晋升单机处理赏罚手段,垂直扩展的方法又有两种:
画外音:在互联网营业成长很是迅猛的早期,假如预算不是题目,凶猛提议行使“加强单机硬件机能”的方法晋升体系并发手段,由于这个阶段,公司的计谋每每是成长营业抢时刻,而“加强单机硬件机能”每每是最快的要领。 垂直扩展有什么瓶颈? 不管是晋升单机硬件机能,照旧晋升单机架构机能,都有一个致命的不敷:单机机能老是有极限的。 怎样打破单机的极限? 互联网漫衍式架构计划,高并发终极办理方案照旧程度扩展。 什么是程度扩展? 只要增进处事器数目,就能线性扩充体系机能。 常见的互联网分层架构怎样? 各层该怎样落地程度扩展? 常见互联网漫衍式架构如上,分为:
要想真个体系支持程度扩展,就必需每一层都支持程度扩展。 反向署理层怎样举办程度扩展? 反向署理层的程度扩展,是通过“DNS轮询”实现的:dns-server对付一个域名设置了多个理会ip,每次DNS理会哀求来会见dns-server,会轮询返回这些ip。 当nginx成为瓶颈的时辰,只要增进处事器数目,新增nginx处事的陈设,增进一个外网ip,就能扩展反向署理层的机能,做到理论上的无穷高并发。 站点层怎样举办程度扩展? 站点层的程度扩展,是通过“nginx”实现的,通过修改nginx.conf,可以配置多个web后端。 画外音:nginx是个例子,有也许是LVS可能F5等反向署理。 当web后端成为瓶颈的时辰,只要增进处事器数目,新增web处事的陈设,在nginx设置中设置上新的web后端,就能扩展站点层的机能,做到理论上的无穷高并发。 处事层怎样举办程度扩展? 处事层的程度扩展,是通过“处事毗连池”实现的。 站点层通过RPC-client挪用下流的处事层RPC-server时,RPC-client中的毗连池会成立与下流处事多个毗连,当处事成为瓶颈的时辰,只要增进处事器数目,新增处事陈设,在RPC-client处成立新的下流处事毗连,就能扩展处事层机能,做到理论上的无穷高并发。 画外音:假如必要优雅的举办处事层自动扩容,这里也许必要设置中内心处事自动发明成果的支持。 数据层怎样举办程度扩展? 在数据量很大的环境下,数据层(缓存,数据库)涉及数据的程度扩展,将本来存储在一台处事器上的数据(缓存,数据库)程度拆分到差异处事器上去,以到达扩充体系机能的目标。 互联网数据层常见的程度拆分方法有这么几种,以数据库为例: 1. 凭证范畴程度拆分 每一个数据处事,存储必然范畴的数据,上图为例:
(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |