拓展:阿里巴巴中文站架构演进分析【部分】

前言

  • 由学习整理而来,并非有意抄袭。
  • 如果有冒犯行为,请及时联系作者进行处理!

阿里巴巴中文站架构发展历程

时间 关键技术
1999第一代网站架构 Perl,CGl,Oracle
2000进入JAVA时代 Java,Servlet
2001-2004EJB时代 EJB(SLSB,CMP,MDB) Pattern(ServiceLocator,Delegate,Facade,DAO,DTO)
2005-2007WithoutEJB重构 去EJB重构:Spring+iBatis+Webx,Antx,底层架构:iSearch,MQ+ESB,数据挖掘,CMS
2008-2009海量数据 Memcached集群,Mysql+数据切分=Cobar,分布式存储,Hadoop,KV,CDN
2010安全,镜像 安全,镜像,应用服务器升级,秒杀,NoSql,SSD

阿里巴巴第五代架构

  • 敏捷
    • 业务快速增长,
    • 每天都要上线大量的小需求应用系统日益膨胀,耦合恶化,架构越来越复杂,会带来更高的开发成本。
  • 开放
    • Facebook和AppStore带来的启示,如何提升网站的开放性,吸引第三方开发者加入到网站的共建中来?
  • 体验
    • 网站的并发压力快速增长,用户却对体验提出了更高的要求

数据架构的复杂

  • 问题
    • 数据架构非常复杂,在不同的应用场景采用多种类型的数据
      在这里插入图片描述
    • 业务模型的各个字段分布在不同的数据源
      在这里插入图片描述
  • 难点:
    • 数据类型的多样性
    • 数据源多样性和变化重构
    • 数据源改造而数据服务平台不需要大面积重构
  • 解决方案
    • 统一数据服务层UDSL
  • 在网站应用集群和底层数据源之间,构建一层代理,统一数据层
  • 统一数据层的特性
    • 模型数据映射
      - 实现业务模型各属性与底层不同类型数据源的模型数据映射
      - 目前支持关系数据库,iSearch,redis,mongodb
    • 统一的查询和更新API
      - 提供了基于业务模型的统一的查询和更新的API,简化网站应用跨不同数据源的开发模式。
    • 性能优化策略
      • 字段延退加载,按需返回设置
      • 基于热点缓存平台的二级缓存
      • 异步并行的查询数据:异步并行加载模型中来自不同数据源的字段
      • 并发保护:拒绝访问频率过高的主机IP或IP段
        在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yang2330648064/article/details/128749026
今日推荐