大型网站软件系统的特点
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网站的问题比较多,但最为迫切需要改造重构的,是业务架构而不是技术架构。
网友评论