大型互联网应用系统技术方案
使用架构技术
前端架构:App及Web开发技术、浏览器及HTTP优化技术、CDN、动静分离、图片服务、反向代理、DNS
网关以及应用层架构:网关架构、负载均衡、动态页面静态化、业务拆分
服务层架构:微服务框架、分布式消息队列、分布式缓存、分布式一致性服务
存储层架构:分布式文件、分布式关系数据库、NoSQL数据库
后台架构:大数据平台、搜索引擎、推荐引擎、数据仓库
运维安全:数据采集与展示、数据监控与报警、攻击与防护、加密和解密
解决高并发,大流量,高可用,海量数据,用户分布广泛,网络情况复杂,需求快速变更等问题。
以淘宝技术发展为例
2003.5-2004.1
LAMP(Linux+Apache+Mysql+PHP)+Mysql读写分离。
LAMP是当年淘宝从美国购买,这个直到现在依然很常用。它的特点是无需编译,发布快速,PHP功能强大,能做从页面渲染到数据访问的所有事情,而且技术是开源免费的。并且对数据库进行修改,把一个数据库进行所有读写操作拆分成一个主库,两个从库,并且读写分离。
2004.1-2004.5
随着数据量变大,mysql无法胜任,最简单的方案就是换成oracle。但是,更换数据库并不是简单换个库就行,它的访问方式和sql都得变。引入SQL Relay中间件解决PHP访问数据库时每个请求都要一个连接,连接数一多会拖垮数据库的问题。
2004.2-2004.10
java+oracle阶段。在替换完数据库后,sql relay出现了问题。代理服务经常死锁,需要经常重启服务。Sql relay的问题解决不了,而数据库必须用oracle,当时java是最成熟的开发语言,所以Java是首选。淘宝请的sun公司的人进行改造,思路是把业务分块,一个一个模块渐进式替换。
2004.10-2006.10
weblogic迁移到jboss。Spring替换掉EJB。加入缓存、CDN(内容分发网络)。
2006.10-2007.10
随着淘宝业务量的猛增,当时现有技术已经不能满足需求,只能创造技术。TFS文件系统的成功研发解决了淘宝的图片存储问题。Tair的开发使淘宝的图片功能得到充分的发挥。
评论