百万级高并发技术整体架构

640?wx_fmt=gif

        高并发是由于应用系统(如:移动APP或网站等)即页面浏览量或点击量大,单台服务器无法承载大量访问所带来的压力,因此会采用服务器硬件集群技术,用N台服务器进行分流,对于每次访问采取负载均衡策略,被分配到不同的服务器来处理请求。

负载均衡种类

      一种是通过硬件来实现,常见硬件有F5,A10,NetScaler、Radware和Array等商用的负载均衡器,但是它们是比较昂贵,成本比较高。

        另一种是通过软件来实现,常见的软件有LVS、Nginx、Apache等,它们是基于Linux系统并且开源的负载均衡策略。

整体架构图:

640?wx_fmt=jpeg

架构说明:

        Keepalived:是用来检测服务器的状态,如果有一台web服务器宕机,或工作出现故障时,Keepalived将会检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

        Keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。

      LVS(Linux Virtual Server):即Linux虚拟服务器,有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR),十种调度算法(rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。

      Nginx:是一个很强大的高性能Web和反向代理服务器,通常作为负载均衡服务器。

负载均衡功能归纳:

  • 转发请求

  • 故障移除

  • 恢复添加

Tomcat :是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。

Redis:是一个高性能的key-value数据库(Nosql),在高并时需配置主从同步。在Tomcat集群时可解决实现Session共享,在并发量大时可作为缓存数据库,避免Mysql数据库请求压力。如电商网站搞秒杀促销活动时,数据直接存储到Redis数据库,然后以一定时间规则同步到Mysql数据库中。

Mysql:作为目前世界上使用最广泛的免费数据库,在高并访问时通过主从复制(Master-Slave)的方式来同步数据实现高可用性,通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力,再通过路由 Hash算法实现水平拆分,库表散列的来提升查询速度能力。

注:除了服务器架构级别实现高并发外,应用程序级别设计也很重要。

640?wx_fmt=gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值