一,阿里巴巴的历史
阿里巴巴 成立于1999年,域名 china.alibaba.com www.1688.com
二,阿里巴巴的架构发展历程
第一代架构: perl cgi oracle
第二代架构:java servlet
第三代架构:EJB
第四代架构:without EJB
第五代架构:海量数据
第六代架构:安全,镜像,SSD,NOSQL.
三,阿里巴巴改造过程遇到的问题及解决办法
数据层
问题一:数据源类型很多,架构复杂,导致网站应用开发不敏捷。
解决办法:使用UDSL作为异构数据源的同一代理,应用彩通统一的API访问异构数据源。使数据源对应用透明,大大降低了数据架构的复杂度,提升了开发和维护的效率。
问题二:业务模型的变更和数据源的改造导致大面积应用的重构。
解决办法:由于使用了UDSL,当数据源变更之后,只需重新配置数据源和应用的mapping即可,大大减少重构量。
问题三:跨数据源的优化和并发控制
解决办法:通过热点缓存平台,定义热点规则,缓存热点数据,以较小的存储代价换来性能的提升。
通过异步并行加载框架,对统一场景的不同数据查询进行异步并行加载,大大降低了查询等待时间。
通过UDSL的并发控制和自我保护策略,有效的保证了UDSL的可用性。
业务层
问题一:网站应用耦合失控,导致结构腐化,敏捷下降。
解决办法:抽取核心服务,建立各业务线的服务化中心,并实现大粒度的代码重用。同时服务化中心也是OpenAPI的基础。
问题二:网站主要页面查询关联数据对象逻辑复杂,带来巨大的开发成本。
解决办法:模型关系图框架。
展示层
问题一:页面板块重用问题
解决办法:组件化,页面组件化以及建立公共页面组件库。
问题二:用户无法自定义旺铺
解决办法:旺铺装修平台
问题三:网站运营无法快速搭建行业化页面和推广专题页面
解决办法:Service Tag CMS 组建服务平台。
问题四:增强用户体验
解决办法:使用独角兽合并js和CSS,以及前段延迟加载框架技术,加快页面访问速度,提高用户体验。
最后总结: