设为首页 加入收藏

TOP

大型站点高并发架构技术(二)
2019-09-17 18:53:42 】 浏览:59
Tags:大型 站点 并发 架构 技术
般或稍大些网站来讲也足够使用,比如lvs。

 

高并发架构包括几个层次:
1.可以高可用的负载均衡器(可用lvs),
2.缓存服务器(varnish),
3.反向代理服务器(haproxy)
4.可能会需要各种不同的web服务器(apache, tomcat, ....)

 

高并发架构需要有以下的功能:

1) 可以承载高并发的服务器软件,包括Apache,nginx,Tomcat。以及用来动态请求的应用服务器,例如PHP服务器,JavaEE服务器。
2) 要有负载均衡的功能。我个人目前所维护的系统使用硬件来做负载均衡,软件方面的话可以用LVS实现。
3) 要有处理高并发请求的能力。使用缓存服务varnish,和haproxy技术。
4) 要有HA功能,保证集群中的任何一台或几台服务器出问题不至于影响到整个系统的运作。会使用到如下的技术:
corosync+pacemaker, KeepAlived

 

集群加上其它技术,就出现了高并发架构,现在的技术各种各样,可谓八仙过海,各显神通,有mysql+heartbeat+DRBD+LVS,nginx+php+mysql+memcache+mongodb,Node.js越来越热,hadoop及其子项目虽然成熟,但spark,storm越来越流利

 

高并发的架构用到的知识点包括:负责均衡策略,CDN策略,反向代理技术,LVS,缓存服务器,数据库的读写分离技术,分布式数据库技术等等技术

负载均衡系统、反向代理系统、Web服务器系统、分布式存储系统、底层服务系统、数据库系统

 

对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃
HTML静态化效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。架构方面的缓存,对Apache比较熟悉的人都能知道Apache提供了自己的mod_proxy缓存模块,也可以使用外加的Squid进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。
负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。

大型Web站点高并发架构一般都采用如下的技术: 1、大量使用缓存技术改善站点的性能,提供用户体验;对应的技术点有redis、memcached等 2、应用服务器集群提高网站的高并发处理能力;对应的技术点有apache、nginx、haproxy等 3、数据库进行读写分离;对应的技术点有MySQL读写分离/高可用,NOSQL等 4、使用反向代理和CDN加速网站响应;对应的技术点有suqid、CDN等 5、根据业务需要,使用分布式文件系统和分布式数据库系统;对应的技术点有hadoop等

 

整个系统的架构可以是LVS+VANISH缓存+HAPROXY+Apache/Ngnix。负载均衡还涉及到CDN,DNS等等方面的问题。

 

大型站点高并发架构主要利用了以下一些技术:
数据库,使用读写分离,分库分表解决大量的读写请求。
服务器,使用负载均衡(4层lvs,7层nginx,apache等做反向代理)保证多台机器能够提供服务
缓存,使用squild等做反向代理

 

一.大型站点高并发架构:
   1.1 满足高并发用户请求&满足节点负载均衡高可用
   1.2 域名智能解析、资源按区域多节点cdn推送
   1.3 后端高并发高可用型数据库读写处理能力
二.为什么会出现高并发架构
   2.1 满足高密集、高速的互联网发展时代,必须出现高并发架构
三.主要运用了哪些技术等对大型web站点高并发架构
   3.1 高可用负载均衡技术&cdn及各种cache网络推送技术
   3.2 提供加速处理能力的中间件
   3.3 读写性能交优异的硬件及软优化调试资源
   3.4 高性能读写的nosql处理能力
   3.5 多节点web、DB服务池
   3.6 良好的代码执行率 & 大型防火墙

 

上次看资料时看到应该从分层的角度去看

前端架构
?        浏览器优化技术(缓存,压缩,合并减少请求)
?        CDN
?        静态资源独立部署
?        反向代理
?        DNS
应用层架构
?        并发结构
?        负载均衡
?        session管理
?        动态转静态(访问多,变化少)
?        业务拆分
服务层架构
?        分布式服务
?        分布式消息
?        分布式缓存
?        分布式配置
存储层架构
?        分布式文件系统
?        关系数据库分库
?        NOSQL
?        数据同步
后台架构
?        搜索引擎
?        数据仓库
?        推荐系统
数据采集与监控
?        浏览器数据采集
?        服务器(业务,性能)数据采集
?        系统监控
?        系统报警
安全架构
?        WEB攻击
?        数据保护

高并发架构使用的技术包括:负载均衡(LVS、F5设备、Haproxy、Nginx),高速缓存服务(Varnish)、,反向代理(squid)等技术来实现访问分流,多设备实现高可用技术(corosync+pacemker,KeepAlived等),数据库也采用反向代理、Memcache等技术实现快速查询。

 

1.我们常用的系统架构有三种,第一种是linux+Apache+PHP+MySQL、第二种是Linux+Apache+Java(Web

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇中小研发团队架构实践之微服务MSA 下一篇战狼:业务高速增长下,如何保证..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目