阿里巴巴服务化架构演进

阿里巴巴服务化架构演进

单一应用架构

All In One

  • 整个网站几个应用
  • 前台 web + 后台 ops + tasks
  • 业务 web + service/dao 各自开发
  • 一起集成发布

技术战:Webx、Spring Ibatis、Jboss、Oracle

存在的问题:合并时经常代码冲突、发布相互制约效率低下、应用代码庞大臃肿维护困难。

垂直应用架构

按应用拆分

Service / DAO / Impl 都以二方库 jar 包的形式提供出去

  • 代码拆分,独立部署,流程隔离,技术栈没有太大变化
  • 应用相互之间直接依赖二方库

问题:

  • 升级困难,要全网推动
  • 数据库连接池压力大

分布式服务架构

API 与实现分离

  • 使用 RPC 进行通信,服务端升级方便
  • 各种服务中心出现,会员中心,商品中心,交易中心等

技术栈:

  • Ali-tomcat
  • Pandora
  • Dubbo
  • HSF

存在的问题:

  • 依赖冲突
  • 中间件升级困难
  • 应用配置服务
  • 应用开发效率低下

微服务架构

拥抱微服务,提升开发体验和效率

  • 应用更轻量、开发更简单
  • 配置
  • 编码
  • 开发
  • 调试
  • 部署

技术栈:

  • Pandora Boot
  • Spring Boot

容器隔离Pandora

为什么需要隔离?

file

Pandora的容器架构如下:

file

Pandora 结构与部署形式:

file

  • 与应用 tgz 包部署在一起
  • 应用可单独升级 pandora.sar
  • 应用容器识别 –Dpandora.location,便于本地开发

现有架构的不足:

  • pandora 使用方式新人难理解,本地开发麻烦,需要配置 JVM 参数或借助 IDE
  • mvn 依赖与 pandora 实际运行版本不一致导致调试时行号对不上,或源码找不到
  • pandora.sar 全家桶用户无法按需选择,应用启动慢
  • 新应用创建时多为复制老应用,遗留问题始终得不到清理解决,形成恶性循环
  • 启动脚本、自检、dockerfile 配置、上线流程复杂繁琐
  • 应用状态不透明,容器及中间件状态是黑盒

微服务框架 Pandora Boot

filefilefilefilefilefile

微服务运维及诊断

filefilefile

未来发展方向

  • Spring Boot 2.0
  • JDK9 Jigsaw
  • Serverless/RxJava
  • 云原生
  • Serviceless
  • ServiceMash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天秤座的架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值