前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >企业高并发架构方案

企业高并发架构方案

作者头像
架构师修行之路
发布2019-08-27 16:30:34
5980
发布2019-08-27 16:30:34
举报
文章被收录于专栏:架构师架构师

高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素,它通常是指,系统能够同时并行处理很多的请求。也就是说高并发指的是同一时刻不同的用户访问了同一个资源,或者是同一时刻有多个线程访问了同一个数据。

说到高并发,一般有3个技术指标:QPS、响应时间,吞吐量

QPS:(Query Per Second:每秒查询率),在互联网领域,指每秒响应请求数(http请求)。

响应时间:系统对请求做出响应的时间。假设某个接口处理一个http请求需要200ms,那么该接口的响应时间就是200ms。

吞吐量:单位时间内处理的请求数量。

提高系统并发能力的方法主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。

垂直扩展就是提升单机处理能力,水平扩展就是增加服务器数量。

垂直扩展:

  • 增强单机硬件性能:增加CPU核数,增加内存,更换更好的硬盘等
  • 提升单机架构性能:使用缓存来减少IO,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间

但是单机性能总是有极限的,因此互联网分布式架构设计的高并发终极解决方案还是水平扩展。

下面分享一个高并发的企业整体架构,如下图:

下面对这个架构做个介绍:

1、用户访问系统之前要经过防火墙的隔离,它主要的功能是把企业内外网络进行物理隔离,通过预先制定的安全策略控制用户的访问。

2、负载均衡服务器可以转发请求,使用户请求均匀的分配到应用服务器,避免单机的压力。可以通过硬件和软件解决。软件有:LVS,nginx,硬件有F5比较贵。

3、负载均衡使用主备机制达到高可用(HA)的目的。

4、应用服务器分布式,面临的一个问题是session共享的问题,假设用户登录了应用1,下次请求来了到了应用2,那么如果没有处理session共享的话,就会导致用户需要重新登录。目前一般使用缓存服务器来解决session共享问题,比如Redis集群。

5、数据库服务器一般使用MySQL,因为Oracle是按CPU收费的,非常贵。

6、使用Redis等缓存系统,使用ELK快速检索,使用hadoop进行数据分析。

在这个架构里,高并发体现在负载均衡和数据库2个地方。

负载均衡:无论使用LVS+keepalived还是使用nginx,都要考虑做负载的集群,考虑主备机制。

数据库高并发:

1、读写分离:

2、水平拆分+库表散列

  • MySQL集群替代Oracle单点
  • 根据字段值的一致性Hash分布
  • 数据查询根据where中的拆分字段分发
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师修行之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档