阿里巴巴微服务架构演进
阿里巴巴服务化架构演进
单一应用架构
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万人关注的大数据成神之路,确定真的不来了解一下吗?
欢迎您关注《大数据成神之路》
阿里巴巴微服务架构演进相关推荐
- 企业级BPM之微服务架构演进
BPM平台在各行业的IT架构中都是重要的基础支撑平台,十二五期间,企业级BPM作为SOA体系下的关键组件,经历了一个加速建设的过程.我们也有幸参与了一些行业的流程平台建设,今天与大家分享我们在流程引擎 ...
- GitChat · 架构 | 为什么微服务实施那么难?如何高效推进微服务架构演进
GitChat 作者:顾宇 原文:为什么微服务实施那么难?如何高效推进微服务架构演进 关注公众号:GitChat 技术杂谈,一本正经的讲技术 前言 笔者从 2013 年加入 ThoughtWorks ...
- 为什么微服务实施那么难?如何高效推进微服务架构演进
为什么微服务实施那么难?如何高效推进微服务架构演进 前言 笔者从 2013 年加入 ThoughtWorks 至今共 4年时间.在这 4 年的时间里,我分别以 开发人员, DevOps 工程师.Dev ...
- 阿里巴巴微服务架构的四大金刚利器
点击上方"开发者技术前线",选择"星标" 13:21 在看|留言|真爱 来自:阿里巴巴中间件 Photo @Christopher Campbell 文 | 孔 ...
- 电商平台微服务架构演进
一 初始架构 引入 nacos 后的基础架构图. 二 加入 Ribbon 后的架构 引入多个微服务,每个微服务通过 Ribbon 进行相互调用. 三 引入 Feign 后的架构 Feign 底层还是会 ...
- 【ArchSummit】众安金融微服务架构演进实战
前言
- 放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结
Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多. 在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的.从 ...
- 前沿对话 | 深育大讲堂之深入云原生时代微服务架构
傅先全:深信服云计算认证专家,产业教育中心资深讲师,曾任职于中国电信集团.华晟经世教育集团,分别担任云平台资深架构师.IT课程总监及名师团金牌讲师.多所高校特聘专家讲师:十余年云计算.大数据行业从业经 ...
- 微服务架构与领域驱动设计应用实践
本篇文章一共分为三个部分,分别是微服务架构的演进过程.具体实践微服务的应用技术和领域驱动设计的意识转变.微服务架构已经渗透到互联网应用的方方面面,而领域驱动设计也逐渐被业界所接收. 微服务架构几乎都是 ...
最新文章
- Android之EventBus使用详解
- 【git】LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
- 老款 iPhone 涨价;微软 AI 研究院落户上海;刘强东不参加人工智能大会 | 极客头条...
- 如何设置硬盘安装linux,linux用硬盘安装时所设置选项
- 数据库设计系列[04]组织结构加入权限系统
- C++习题 对象数组求最大值
- [转]通过秘钥实现scp不输入密码传送文件
- 远程接入产品极通EWEBS给客户带来的价值
- node-webkit(Windows系统) 打包成exe文件后,被360杀毒软件误报木马的解决方法
- python turtle画中国象棋_Python turtle绘画象棋棋盘
- CC2530+PA(CC2590)开启功率放大模块功能说明
- 课件动画做的牛不牛,看你有它没它!
- CEP的一个简单理解
- 【Gin框架】框架入门
- 2022.08.03 第三组 高小涵
- Slap-happy 高兴得晕头转向
- 虚拟机启动后网卡不见了
- 二进制文件、文本文件
- vivo 手机开发者模式运行安装apk失败
- 定时/计数器应用3——脉冲宽度的测量
热门文章
- Linux系统下服务和运行目标管理——单用户和多用户模式的切换
- 安装BackTrack5 R3
- 微型计算机MMX的技术特点,自考04732微型计算机及接口技术试卷(答案全面)
- c语言极限,44-C语言中的极限值
- mysql pam 配置_pam_mysql 安装配置总结 (结合vsftpd)
- 1人工智能概述------Azure机器学习模型搭建实验(完整体验-手把手教学-机器学习的过程)
- 数据分析方法——判别分析
- 像素鸟多线程java_用java Swing做的小游戏像素鸟-Go语言中文社区
- 手机验证码、图片验证码的实现
- 舌尖上的家乡——广东云浮/罗定