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

大型网站架构演变过程:

[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 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

ONOS高可用性和可扩展性实现初探

ONOS的发布直面OpenDaylight 进行挑战,直接将 SDN领域两大阵营(运营商和设备商)的竞争瞬间升级,之所以 ONOS能做到这一点,首先,ONOS的...

2455
来自专栏数据库

开放的计算能力为数据库瘦身

开放的计算能力为数据库瘦身 计算封闭性导致臃肿的数据库 我们在上一期谈到,数据库的臃肿,也就是过多的中间表以及相关存储过程,是由于其计算封闭性造成的。如果能够实...

1689
来自专栏windealli

性能测试知识总结

(下面很多指标术语在不同的语境下可能会有不同的含义,在评价性能指标时,通常是指他们能够达到的最优值。比如吞吐量是指服务能承受的最大吞吐量。)

1242
来自专栏无题

各RDB与Nosql性能与特点总结

最近考虑到数据库包括各种缓存到底面对高并发情况性能到底是怎么样的,所以多方收集整理成此篇,以后也会持续更新。 mysql: 1.性能从10万条规模升到100万...

38410
来自专栏全华班

springcloud学习手册-微服务架构中的进程间通信

导读 | 通信即是连接 ? 一、通信即是连接,事务与事务的交流就是通过通信传输的 【定义】 通信,指人与人或人与自然之间通过某种行为或媒介进行的信息交流与...

3184
来自专栏Java呓语

架构·Client-Server

一个联网应用程序总是分布在两个或多个主机之间,这就衍生了我们该如何在多个主机之间划分功能的问题。

573
来自专栏云技术

性能超前,详解腾讯云新一代Redis缓存数据库

当前内存数据库发展迅速,用户对于存储系统的要求也越来越高,为了满足各类业务场景的需要,腾讯云设计了新一代的内存数据库,不但保留了原来系统的高性能,高可用等特性,...

51316
来自专栏Albert陈凯

Hadoop离线数据分析平台实战——420订单分析Hadoop离线数据分析平台实战——420订单分析

Hadoop离线数据分析平台实战——420订单分析 项目进度 模块名称 完成情况 用户基本信息分析(MR)� 完成 浏览器信息分析(MR) 完...

2916
来自专栏架构师之路

互联网分层架构之-DAO与服务化

互联网分层架构的本质,是数据的移动。 互联网分层架构演进的核心原则: 让上游更高效的获取与处理数据,复用 让下游能屏蔽数据的获取细节,封装 这些在上一篇《互联网...

3408
来自专栏alexqdjay

SpringCloud(一)Eureka2.0

3015

扫码关注云+社区