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

架构师眼中的高并发架构

发布时间:2020-12-31 21:20:39 所属栏目:运营 来源:网络整理
导读:div class="blog-abstract"择要: 以架构师的目光来报告高并发架构 div id="blogBody" class="blog-body" div class="BlogContent clearfix" h3 id="h3_0"媒介 高并发常常会产生在有大活泼用户量,用户高聚积的营业场景中,如:秒杀勾当,按时领取红包等。为

方案如:

  • 按时领取红包
    • 一样平常风俗行使 redis的 list
    • 当用户参加勾当,将用户参加信息push到行列中
    • 然后写个多线程措施去pop数据,举办发放红包的营业
    • 这样可以支持高并发下的用户可以正常的参加勾当,而且停止数据库处事器宕机的伤害

附加:?通过动静行列可以做许多的处事。?如:按时短信发送处事,行使sset(sorted set),发送时刻戳作为排序依据,短信数据行列按照时刻升序,然后写个措施按时轮回去读取sset行列中的第一条,当前时刻是否高出发送时刻,假如高出就举办短信发送。

高并发哀求毗连缓存处事器超出处事器可以或许吸取的哀求毗连量,部门用户呈现成立毗连超时无法读取到数据的题目;

因此必要有个方案当高并发时辰时辰可以镌汰掷中缓存处事器;

这时辰就呈现了一级缓存的方案,一级缓存就是行使站点处事器缓存去存储数据,留意只存储部门哀求量大的数据,而且缓存的数据量要节制,不能过度的行使站点处事器的内存而影响了站点应用措施的正常运行,一级缓存必要配置秒单元的逾期时刻,详细时刻按照营业场景设定,目标是当有高并发哀求的时辰可以让数据的获取掷中到一级缓存,而不消毗连缓存nosql数据处事器,镌汰nosql数据处事器的压力

好比APP首屏商品数据接口,这些数据是民众的不会针对用户自界说,并且这些数据不会频仍的更新,像这种接口的哀求量较量大就可以插手一级缓存;

处事器架构图:

通用

公道的类型和行使nosql缓存数据库,按照营业拆分缓存数据库的集群,这样根基可以很好支持营业,一级缓存事实是行使站点处事器缓存以是照旧要善用。

高并发哀求数据稳固革的环境下假如可以不哀求本身的处事器获取数据那就可以镌汰处事器的资源压力。

对付更新频仍度不高,而且数据应承短时刻内的耽误,可以通过数据静态化成JSON,XML,HTML等数据文件上传CDN,在拉取数据的时辰优先到CDN拉取,假如没有获取到数据再从缓存,数据库中获取,当打点职员操纵靠山编辑数据再从头天生静态文件上传同步到CDN,这样在高并发的时辰可以使数据的获取掷中在CDN处事器上。

CDN节点同步有必然的耽误性,以是找一个靠谱的CDN处事器商也很重要

  • 对付更新频仍度不高的数据,APP,PC赏识器,可以缓存数据到当地,然后每次哀求接口的时辰上传当前缓存数据的版本号,处事端吸取到版本号判定版本号与最新数据版本号是否同等,假如纷歧样就举办最新数据的查询并返回最新数据和最新版本号,假如一样就返回状态码奉告数据已经是最新。镌汰处事器压力:资源、带宽

大型网站要很好支撑高并发,这是必要恒久的筹划计划?在初期就必要把体系举办分层,在成长进程中把焦点营业举办拆分成模块单位,按照需求举办漫衍式陈设,可以举办独立团队维护开拓。

  • 分层
    • 将体系在横向维度上切分成几个部门,每个部分认真一部门相对简朴并较量单一的职责,然后通过上层对基层的依靠和调治构成一个完备的体系
    • 好比把电商体系分成:应用层,处事层,数据层。(详细分几多个条理按照本身的营业场景)
    • 应用层:网站首页,用户中心,商品中心,购物车,红包营业,勾当中心等,认真详细营业和视图展示
    • 处事层:订单处事,用户打点处事,红包揽事,商品处事等,为应用层提供处事支持
    • 数据层:相关数据库,nosql数据库 等,提供数据存储查询处事
    • 分层架构是逻辑上的,在物理陈设上可以陈设在统一台物理呆板上,可是跟着网站营业的成长,肯定必要对已经分层的模块疏散陈设,别离陈设在差异的处事器上,使网站可以支撑更多用户会见
  • 支解
    • 在纵向方面临营业举办切分,将一块相对伟大的营业支解成差异的模块单位
    • 包装成高内聚低耦合的模块不只有助于软件的开拓维护,也便于差异模块的漫衍式陈设,进步网站的并发处理赏罚手段和成果扩展
    • 好比用户中心可以支解成:账户信息模块,订单模块,充值模块,提现模块,优惠券模块等
  • 漫衍式
    • 漫衍式应用和处事,将分层可能支解后的营业漫衍式陈设,独立的应用处事器,数据库,缓存处事器
    • 当营业到达必然用户量的时辰,再举办处事器平衡负载,数据库,缓存主从集群
    • 漫衍式静态资源,好比:静态资源上传cdn
    • 漫衍式计较,好比:行使hadoop举办大数据的漫衍式计较
    • 漫衍式数据和存储,好比:各漫衍节点按照哈希算法或其他算法分手存储数据

image

网站分层-图1来自收集

对付用户会见齐集的营业独立陈设处事器,应用处事器,数据库,nosql数据库。 焦点营业根基上必要搭建集群,即多台处事器陈设沟通的应用组成一个集群,通过负载平衡装备配合对外提供处事, 处事器集群可以或许为沟通的处事提供更多的并发支持,因此当有更多的用户会见时,只必要向集群中插手新的呆板即可,其它可以实现当个中的某台处事器产生妨碍时,可以通过负载平衡的失效转移机制将哀求转移至集群中其他的处事器上,因此可以进步体系的可用性

  • 应用处事器集群
    • nginx 反向署理
    • slb
    • … …
  • (相关/nosql)数据库集群
    • 主从疏散,从库集群

image

通过反向署理平衡负载-图2来自收集

(编辑:湖南网)

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

热点阅读