大型网站架构演变过程、大并发服务器架构

大型网站架构演变过程:

[Step1]web server与数据库分离

web动静资源分离

静态请求:如html, js, css, img

动态请求:如jsp, php

[Step2]缓存处理

客户端(浏览器)缓存 前端页面缓存(squid) 页面片段缓存ESI(Edge Side Includes) 本地数据缓存

[Step3]web server集群+读写分离

负载均衡:

前端负载均衡

DNS负载均衡

在DNS服务器中,可以为多个不同的地址配置同一个名字,对于不同的客户机访问同一个名字,得到不同的地址。

反向代理

使用代理服务器将请求发给内部服务器,让代理服务器将请求均匀转发给多台内部web服务器之一,从而达到负载均衡的目的。标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。

基于NAT的负载均衡技术 LVS F5硬件负载均衡

应用服务器负载均衡 数据库负载均衡

[Step4]CDN、分布式缓存、分库分表

分布式缓存

目前流行分布式缓存方案:memcached、membase、redis等,基本上当前的NoSQL方案都可以用来做分布式缓存方案

分库(垂直分区)

分表(水平分区shared)

[Step5]多数据中心+分布式存储与计算

技术点[DFS、Key-Value DB 、 Map/Reduce ]

DFS分布式文件系统,如:Lustre\HDFS\GFS\TFS\FreeNas等 Key-Value DB,也作为NoSQL解决方案,如:BigTable\Tair\Hbase\HyperTable等 Map/Reduce算法(计算框架),基本上现有NoSQL数据库中都支持此算法。 提供完整解决方案:

   Google(GFS|BigTable|Map/Reduce)    Apache Hadoop(HDFS|HBase|Map/Reduce) 

大并发服务器架构:

垂直分区:比如用户表、业务表、基础表各有各自的读写数据库。

水平分区:比如用户表、业务表、基础表各有1000条记录,则水平分割分布在10对读写库。

服务器性能杀手:

1、数据拷贝:(缓存,不是指分布式缓存,指的是服务器内部的,如从内核拷贝到应用层的缓存)

2、环境切换:(理性使用多线程)单核(使用状态机编程效果最佳),多线程能够发挥多核服务器最佳性能

3、内存分配:(内存池)减少向操作系统申请内存的次数

4、锁竞争:(通过逻辑尽量减少锁的使用,或者锁的竞争)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏公有云大数据平台弹性MapReduce

Redis 单机主从高可用性优化

redis是一款高性能的内存数据库,本文侧重描述redis在主从模式下遇到的一些问题以及如何调优,特别是在云环境下遇到的一些特殊问题,至于redis如何使用以及...

4.7K0
来自专栏Laoqi's Linux运维专列

Docker 空间使用分析与清理

2324
来自专栏IT技术精选文摘

关于TCP 半连接队列和全连接队列

最近碰到一个client端连接异常问题,然后定位分析并查阅各种资料文章,对TCP连接队列有个深入的理解 查资料过程中发现没有文章把这两个队列以及怎么观察他们的指...

2619
来自专栏SDNLAB

SDNLAB技术分享(八):Neutron的基本原理与代码实现

一、Openstack网络基础 下面对Openstack和Neutron的介绍,要从几个关键词入手。 1. 三代网络 在网络这一口,OpenStack经历了由n...

3047
来自专栏文武兼修ing——机器学习与IC设计

AXI学习笔记-11.AXI总线结构2.AXI接口时序3.数据结构4.传输特性

握手信号包括VALID和READY信号,传输行为仅在VALID和READY同时有效时发生。其中:

793
来自专栏我是东东强

细说子网

最近闲来无事,抄起本《Wireshark网络分析就是这么简单》想了解下数据包粒度(Packet-level)的网络测量及分析方法,书开篇提出一个面试题,与子网掩...

781
来自专栏python3

python3--网络编程一

有两个文件a.py和b.py,分别去运行,这两个python的文件分别运行的很好,但是如果这两个程序之间想要传递一个数据,要怎么做呢?

681
来自专栏Linux驱动

IIC接口下的24C02 驱动分析

本节来学习IIC接口下的24C02 驱动分析,本节学完后,再来学习Linux下如何使用IIC操作24C02 1.I2C通信介绍 它是由数据线SDA和时钟SCL构...

1949
来自专栏数据和云

5分钟速成Oracle 12.2 RAC 专家(附ppt下载)

Oracle 12c 在RAC方面提出了很多新的解决方案和特性。这些方案和特性使得Oracle 集群在云和大数据的时代环境下,帮助企业用户上云更具优势。今天我们...

3635
来自专栏容器云生态

redis使用过程中主机内核层面的一些优化

案发现场的日志: 缓存集群redis重启错误报错: 29808:M 07 Jun 09:46:32.209 # WARNING: The TCP backlo...

3175

扫码关注云+社区