大型网站架构演化

2016-10-31  本文已影响14人  北你妹的风

大型网站软件系统的特点

1.高并发,大流量    需要面对高并发用户。

2.高可用     系统7x24小时不间断服务。

3.海量数据    需要存储、管理海量数据

4.用户分布广泛,网络情况复杂 

5.安全环境恶劣  由于互联网的开放性,互联网网站更容易受到黑客的攻击

6.需求快速变更,发布频繁 互联网产品为了适应市场,满足用户需求,其产品必须快速迭代,发布

7.渐进式发展   也就是演化,几乎所有互联网网站都是由小到大,逐步发展起来的

大型网站架构演化发展历程

1.初始阶段       应用程序,文件,数据库等资源都放在一台服务器上,这是一个简单网站最初的样子

2.应用服务和数据服务分离       随着业务的发展,越来越多的用户访问以及越来越多的数据,迫切需要将应用和数据剥离开来,这是需要3台服务器,分别作为应用服务器,数据库服务器,文件服务器

3.使用缓存改善网站性能     把最经常访问的数据放在内存中,减轻数据库的访问压力

4.使用服务器集群改善网站的并发处理能力    使用集群网站解决高并发、海量数据的常用手段。当一台服务器的处理能力、存储空间遇到瓶颈时,不要企图去替换更强大的服务器,更恰当的做法是,增加一台服务器来减轻现有服务器的访问压力。

5.数据库读写分离   通过配置两台数据库主从关系,实现数据库读写分离,改善数据库负载压力。需要注意的是,要保证数据同步以及数据库操作的隔离性

6.使用反向代理和CDN加速  反向代理和CDN原理都是缓存,都是尽快把数据返回给用户,一方面减缓服务器压力,一方面提高用户访问速度。

7.使用分布式文件系统和分布式数据库系统

8.使用NoSql以及搜索引擎

9业务拆分   在业务层面上划分产品,把每个模块单独部署维护,分而治之。各个模块之间可用消息队列实现数据分发

10 .分布式服务  比如现在比较流行的Docker等微服务

网站架构设计误区

1.一味追求大公司的解决方案   适合自己的才是最好的,不要盲目追求大公司的技术光环

2.为技术而技术   技术是解决问题的,不是为了好看,好听。不能因为那个技术比较火热,就盲目跟风

3.企图用技术所有问题   最典型的例子是12306网站。大家都知道12306网站的问题比较多,但最为迫切需要改造重构的,是业务架构而不是技术架构。

上一篇下一篇

猜你喜欢

热点阅读