天天看点

一、大型网站技术架构演化大型网站系统的特点大型网站架构演化发展历程小结

1、高并发,大流量

2、高可用:7*24小时不间断服务,不宕机

3、海量数据储存及管理

4、网络复杂

5、安全性

6、易扩展,可伸缩:需求快速变更,发布频繁

7、渐进式发展:脸谱网是宿舍,谷歌是斯坦福大学实验室,淘宝是马云家

一句话,高可用,高性能,易扩展,可伸缩且安全的网站。

1、初始阶段

    单机服务器:应用程序+数据库+文件都在一台服务器上。

2、应用服务和数据服务分离

    应用服务器,文件服务器和数据库服务器。

中间通过通信的是:http/socket

3、缓存

    二八定律。核心集中在百分之20

    缓存分两种:应用服务器上的本地缓存 和 缓存在专门分布式缓存服务器的远程缓存。

    其中ehcache 简介:(通过rmi、jgroups或jms进行的异步或同步的缓存复制、支持的通过rmi、jgroups或jms进行的异步或同步的缓存复制、可靠的分发:使用tcp的内建分发机制、面向资源的restful,还有就是soap)

4、应用服务器集群

    集群是常用手段,实现系统的可伸缩性。

    通过负载均衡调度服务器,将请求分发任何一台服务器。

5、数据库读写分离

    读部分(缓存不命中或者过期) 和 全部写操作要访问数据库

    主从热备-数据库同步

6、反向代理nginx 、cdn加速网站响应

    原理:缓存

    cdn:就近的网络提供上机房。反向代理缓存这用户请求的资源。

7、分布式文件系统、分布式数据库系统

    单表数据规模很大的情况,常用手段是业务分库。

8、nosql 、 搜索引擎

    数据存储及大规模数据的检索

    nosql场景: 场景:储存用户信息,比如会话、配置文件、参数、购物车等等。这些信息一般都和id(键)挂钩,这种情景下键值数据库是个很好的选择。

9、业务拆分

    分而治之,业务分成各个产品线。然后各个应用服务器。

    应用之间通过超链接或者消息队列进行数据分发。

10、分布式服务

    soa、云服务

云计算服务,可以让一切技术资源:计算,存储,网络按需购买即可。