传统企业应用面对的挑战:复杂,千变万化的业务逻辑。(功能性需求)
大型网站面对的挑战:处理超大量的用户访问和海量的数据处理。(非功能性需求)
网站核心架构要素:性能,可用性,伸缩性,扩展性,安全性
大型网站软件系统的特点:
(1)高并发,大流量:需要面对高并发用户,大流量访问。
(2)高可用:系统7*24小时不间断服务。大型互联网网站的宕机时间通常会成为新闻焦点。
(3)海量数据:需要存储,管理海量数据,需要使用大量服务器。
(4)用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的。在国内,还有各个运营商网络互通难的问题。而中美光缆的数次故障,也让一些国外用户依赖较大的网站不得不考虑在海外建立数据中心。,发布频繁:
(5)安全环境恶劣:由于互联网的开放性,使得互联网更容易受到攻击,大型网站几乎每天都被黑客攻击。
(6)需求快速变更:和传统软件产品或企业应用系统不同,互联网产品为快速时应市场,满足用户需求,其产品发布频率是极高的。
(7)渐进式发展:与传统软件产品或企业应用系统一开始就规划好全部功能和非功能需求不同,几乎所有的大型互联网网站都是从一个小网站开始,逐渐发展起来的。
=======》其实大型网站存在的难题,传统软件产品和企业应用都存在,只是没有暴漏出来,用户比较局限。
大型网站的架构演化,发展历程
(1)初级阶段
大型网站都是从小型网站发展而来,小型网站最开始没有太多人访问,只需要一台服务器就够了。应用程序,数据库,文件等所有资源都在同一台服务器上,通常服务器操作系统用linux,部署在Tomcat上,使用MySQL数据库,汇集各种免费的开源软件及一台廉价的服务器就可以网站的发展之路了。