加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

互联网架构“高并发”到底怎么玩?

发布时间:2019-04-11 05:46:25 所属栏目:建站 来源:58沈剑
导读:最近留言问高并发的伴侣颇多,公家号又不支持汗青文章检索,故从头优化宣布,但愿各人有收成。 什么是高并发? 高并发(High Concurrency)是互联网漫衍式体系架构计划中必需思量的身分之一,它凡是是指,通过计划担保体系可以或许同时并行处理赏罚许多哀求。 高并发
副问题[/!--empirenews.page--]

最近留言问“高并发”的伴侣颇多,公家号又不支持汗青文章检索,故从头优化宣布,但愿各人有收成。

互联网架构“高并发”到底怎么玩?

什么是高并发?

高并发(High Concurrency)是互联网漫衍式体系架构计划中必需思量的身分之一,它凡是是指,通过计划担保体系可以或许同时并行处理赏罚许多哀求。

高并发相干的常见指标有哪些?

  • 相应时刻(Response Time)
  • 吞吐量(Throughput)
  • 每秒查询率QPS(Query Per Second)
  • 并发用户数

什么是相应时刻?

体系对哀求做出相应的时刻。

譬喻:体系处理赏罚一个HTTP哀求必要200ms,这个200ms就是体系的相应时刻。

什么是吞吐量?

单元时刻内处理赏罚的哀求数目。

什么是QPS?

每秒相应哀求数。在互联网规模,这个指标和吞吐量区分的没有这么明明。

什么是并发用户数?

同时承载正常行使体系成果的用户数目。

譬喻:一个即时通信体系,同时在线量必然水平上代表了体系的并发用户数。

怎样晋升体系的并发手段?

互联网漫衍式架构计划,进步体系并发手段的方法,要领论上首要有两种:

  • 垂直扩展(Scale Up)
  • 程度扩展(Scale Out)

什么是垂直扩展?

垂直扩展是指,晋升单机处理赏罚手段,垂直扩展的方法又有两种:

  • 加强单机硬件机能,譬喻:增进CPU核数如32核,进级更好的网卡如万兆,进级更好的硬盘如SSD,扩充硬盘容量如2T,扩充体系内存如128G;
  • 晋升单机架构机能,譬喻:行使Cache来镌汰IO次数,行使异步来增进单处事吞吐量,行使无锁数据布局来镌汰相应时刻;

画外音:在互联网营业成长很是迅猛的早期,假如预算不是题目,凶猛提议行使“加强单机硬件机能”的方法晋升体系并发手段,由于这个阶段,公司的计谋每每是成长营业抢时刻,而“加强单机硬件机能”每每是最快的要领。

垂直扩展有什么瓶颈?

不管是晋升单机硬件机能,照旧晋升单机架构机能,都有一个致命的不敷:单机机能老是有极限的。

怎样打破单机的极限?

互联网漫衍式架构计划,高并发终极办理方案照旧程度扩展。

什么是程度扩展?

只要增进处事器数目,就能线性扩充体系机能。

常见的互联网分层架构怎样?

各层该怎样落地程度扩展?

常见互联网漫衍式架构如上,分为:

  • 客户端层:典范挪用方是赏识器browser可妙手机应用APP;
  • 反向署理层:体系进口,反向署理;
  • 站点应用层:实现焦点应用逻辑,返回html可能json;
  • 处事层:假如实现了处事化,就有这一层;
  • 数据-缓存层:缓存加快会见存储;
  • 数据-数据库层:数据库固化数据存储;

要想真个体系支持程度扩展,就必需每一层都支持程度扩展。

反向署理层怎样举办程度扩展?

反向署理层的程度扩展,是通过“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. 凭证范畴程度拆分

每一个数据处事,存储必然范畴的数据,上图为例:

  • user0库,存储uid范畴1-1kw
  • user1库,存储uid范畴1kw-2kw

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读