阿里巴巴服务化架构演进

单一应用架构

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

为什么需要隔离?

Pandora的容器架构如下:

Pandora 结构与部署形式:

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

现有架构的不足:

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

微服务框架 Pandora Boot

微服务运维及诊断

未来发展方向

  • Spring Boot 2.0
  • JDK9 Jigsaw
  • Serverless/RxJava

声明:本号所有文章除特殊注明,都为原创,公众号读者拥有优先阅读权,未经作者本人允许不得转载,否则追究侵权责任。

关注我的公众号,后台回复【JAVAPDF】获取200页面试题!5万人关注的大数据成神之路,不来了解一下吗?5万人关注的大数据成神之路,真的不来了解一下吗?5万人关注的大数据成神之路,确定真的不来了解一下吗?

欢迎您关注《大数据成神之路》

阿里巴巴微服务架构演进相关推荐

  1. 企业级BPM之微服务架构演进

    BPM平台在各行业的IT架构中都是重要的基础支撑平台,十二五期间,企业级BPM作为SOA体系下的关键组件,经历了一个加速建设的过程.我们也有幸参与了一些行业的流程平台建设,今天与大家分享我们在流程引擎 ...

  2. GitChat · 架构 | 为什么微服务实施那么难?如何高效推进微服务架构演进

    GitChat 作者:顾宇 原文:为什么微服务实施那么难?如何高效推进微服务架构演进 关注公众号:GitChat 技术杂谈,一本正经的讲技术 前言 笔者从 2013 年加入 ThoughtWorks ...

  3. 为什么微服务实施那么难?如何高效推进微服务架构演进

    为什么微服务实施那么难?如何高效推进微服务架构演进 前言 笔者从 2013 年加入 ThoughtWorks 至今共 4年时间.在这 4 年的时间里,我分别以 开发人员, DevOps 工程师.Dev ...

  4. 阿里巴巴微服务架构的四大金刚利器

    点击上方"开发者技术前线",选择"星标" 13:21 在看|留言|真爱 来自:阿里巴巴中间件 Photo @Christopher Campbell 文 | 孔 ...

  5. 电商平台微服务架构演进

    一 初始架构 引入 nacos 后的基础架构图. 二 加入 Ribbon 后的架构 引入多个微服务,每个微服务通过 Ribbon 进行相互调用. 三 引入 Feign 后的架构 Feign 底层还是会 ...

  6. 【ArchSummit】众安金融微服务架构演进实战

    前言

  7. 放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结

    Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多. 在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的.从 ...

  8. 前沿对话 | 深育大讲堂之深入云原生时代微服务架构

    傅先全:深信服云计算认证专家,产业教育中心资深讲师,曾任职于中国电信集团.华晟经世教育集团,分别担任云平台资深架构师.IT课程总监及名师团金牌讲师.多所高校特聘专家讲师:十余年云计算.大数据行业从业经 ...

  9. 微服务架构与领域驱动设计应用实践

    本篇文章一共分为三个部分,分别是微服务架构的演进过程.具体实践微服务的应用技术和领域驱动设计的意识转变.微服务架构已经渗透到互联网应用的方方面面,而领域驱动设计也逐渐被业界所接收. 微服务架构几乎都是 ...

最新文章

  1. Android之EventBus使用详解
  2. 【git】LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
  3. 老款 iPhone 涨价;微软 AI 研究院落户上海;刘强东不参加人工智能大会 | 极客头条...
  4. 如何设置硬盘安装linux,linux用硬盘安装时所设置选项
  5. 数据库设计系列[04]组织结构加入权限系统
  6. C++习题 对象数组求最大值
  7. [转]通过秘钥实现scp不输入密码传送文件
  8. 远程接入产品极通EWEBS给客户带来的价值
  9. node-webkit(Windows系统) 打包成exe文件后,被360杀毒软件误报木马的解决方法
  10. python turtle画中国象棋_Python turtle绘画象棋棋盘
  11. CC2530+PA(CC2590)开启功率放大模块功能说明
  12. 课件动画做的牛不牛,看你有它没它!
  13. CEP的一个简单理解
  14. 【Gin框架】框架入门
  15. 2022.08.03 第三组 高小涵
  16. Slap-happy 高兴得晕头转向
  17. 虚拟机启动后网卡不见了
  18. 二进制文件、文本文件
  19. vivo 手机开发者模式运行安装apk失败
  20. 定时/计数器应用3——脉冲宽度的测量

热门文章

  1. Linux系统下服务和运行目标管理——单用户和多用户模式的切换
  2. 安装BackTrack5 R3
  3. 微型计算机MMX的技术特点,自考04732微型计算机及接口技术试卷(答案全面)
  4. c语言极限,44-C语言中的极限值
  5. mysql pam 配置_pam_mysql 安装配置总结 (结合vsftpd)
  6. 1人工智能概述------Azure机器学习模型搭建实验(完整体验-手把手教学-机器学习的过程)
  7. 数据分析方法——判别分析
  8. 像素鸟多线程java_用java Swing做的小游戏像素鸟-Go语言中文社区
  9. 手机验证码、图片验证码的实现
  10. 舌尖上的家乡——广东云浮/罗定