对阿里巴巴架构的了解和研究

一,阿里巴巴的历史

阿里巴巴 成立于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,以及前段延迟加载框架技术,加快页面访问速度,提高用户体验。

最后总结:


猜你喜欢

转载自babyduncan.iteye.com/blog/1223104