【视频&交流平台】

àSpringBoot视频http://t.cn/R3QepWG

à SpringCloud视频http://t.cn/R3QeRZc

à Spring Boot源码:https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台:http://412887952-qq-com.iteye.com/blog/2321532

à Spring Boot Shiro视频http://t.cn/R3QDMbh

à Spring Boot 2.0 之Spring Data 和JPAhttp://t.cn/R1pSojf

前言

阿里的Pandora Boot的核心是Pandora,因此在介绍Pandora Boot之前需要先介绍Pandora。

在阿里集体内部,几乎所有的应用都用到了各式各样的中间件,比如HSF、TDDL、Diamond等等。本身中间件之间可能就有版本依赖的问题,比如你的应用HSF和Diamond分别依赖了同名jar包的不同版本,maven只会引入其中一个版本。同样的中间件和应用之间也存在同样的Jar包依赖的问题,出于要解决这些依赖冲突的问题,阿里就开发了Pandora。

Pandora 概述

Pandora,中文名潘多拉,简单的来说就是一个类隔离容器。对外以taobao-hsf.sar这样的sar包的形式对外呈现。它要解决的问题就是依赖冲突问题,包括单不仅以下几点:

(1) 二方包、三方包冲突

由于版本不一致可能导致应用起不来。

(2)冲突排查浪费大量时间

应用起不来的时候可能只是应用开发自己折腾半天在排包,但如果是二方包冲突,那么中间件团队可能就要花大量时间在答疑上面,和应用开发一起折腾了。

(3)应用难以保持稳定

折腾半天应用终于跑起来了,但是更可怕的就是现在能跑,到了某个点某个场景可能就出bug了。

(4)中间件升级困难

如果要实时升级中间件到推荐版本,但是发现并没有那么容易,应用中引入了十个八个中间件,隔三差五其中一个中间件就有小版本更新,每天盯着中间件的更新情况,那还有时间关心业务的开发了。

Pandora 的价值在于让上面的问题都不是问题,具体都实现了什么能力呢?

(1)实现类隔离,提供稳定的运行环境

Pandora实现了应用与中间件之间隔离、中间件与中间件之间隔离,保证了类的正确加载,而不会让依赖关系与依赖加载出现不一一对应的情况。

(2)中间件平滑升级

由于应用服务器会优先加载Pandora的类,因此只要升级Pandora中的插件即可,无需对应用中的pom.xml进行修改。只需要在aone上面提交一个“HSF变更”即可。

(3)中间件统一管理

Pandora会统一管理中间的启动、初始化以及资源回收等一系列操作。

Pandora Boot

PandoraBoot是在Pandora的基础之上,发展处的更轻量使用集团中间件的方式;它基于Pandora和Fat Jar基础,可以可以在IDE里启动Pandora环境,开发调试等效率大大提高。也就是PandoraBoot是Pandora与Spring Boot结合的产物,可以更方便的享受Spring Boot社区带来的便利。

PandoraBoot与SpringBoot的联系和区别

两者联系:

(1)PandoraBoot是运行中在SpringBoot上的,完全兼容。对PandoraBoot来说SpringBoot就像是一个依赖或者简单的Main函数应用。

两者区别:

(1)Spring Boot 通过 Maven 来管理依赖,是平板化的,最前面提到的二方包、三方包依赖问题,SpringBoot解决不了。

(2)Pandora Boot很好的管理了中间件应用,用户可以快速的引入各类中间件,平滑的保持中间件升级。这两者说到底也就是集成了 Pandora 的类隔离技术。

(3)Pandora Boot 目前已经很好的集成了 autoconfig,外部也和 AONE2、PSP 等系统进行打通,开发起来更加的方便。

现在的学习资料和视频大多都是1.4、1.5的,2.0比较少,对于学习有影响嘛?

(1)1.0版本到2.0版本的跨越,主要是新特性的增加,旧的特性还是一样的,学习完1.0版本升级到2.0版本是很容易的。

(2)阿里现在有些项目还是使用1.4.7和1.5.8版本的,对于实际项目还是稳定为主,而不是追求最新的。

当然如果你可以,最新版本的学习当然就是最好的!骚年,加油,当前Spring Boot最新的版本是2.0.2了,1代的话是1.5.13版本。

à悟空学员:http://t.cn/Rg3ICnJ

学院中有Spring Boot相关的课程!点击「进入学院」进行查看!

开学季所有课程优惠一周

下雨天,适合学「Spring Boot」

微信公众号「SpringBoot」最近更新:

Java8新特性:方法引用
209. SpringBoot quartz:sqlserver启动只有 DECLARE CURSOR 才允许使用...
风口之上,我是那头猪嘛?
Java8新特性:Lambda表达式: 摸摸里面
Java8新特性:Lambda表达式:过关斩将:使用场景
Java8新特性:Lambda表达式:小试牛刀
下雨天,适合学「Spring Boot」
Java8新特性:接口的默认方法
208. Spring Boot Swagger2:排序 – 漂游记
207. Spring Boot Swagger2:极简方式
我读的书很多,但都没有你好看【一禅录】
206. Spring Boot 2.0 Swagger2:使用
205. Spring Boot 2.0 Swagger2:初识Swagger
当要离开的时候,我却动情了
205. jetcache:你需要知道的小技巧
204. jetcache:在Spring Boot中怎么玩?

搜索「springboot」或者扫描以下二维码即可关注:

最新文章

  1. Android开发学习之路-机器学习库(图像识别)、百度翻译
  2. node.js + expres 的安装
  3. python 01
  4. 802.11 对于multicast 和 broadcast的处理
  5. Opencv中直线的表示方法
  6. iOS开发--即时通讯
  7. C#语言之“string格式的日期时间字符串转为DateTime类型”的方法(转)
  8. linux c数据库备份第三版
  9. 福建省队集训被虐记——DAY3
  10. VS2008通过 map 和 cod 文件定位崩溃代码行
  11. jsonp跨域+ashx
  12. springMVC(5)---导入excel文件数据到数据库
  13. MySQL体系结构及多实例
  14. FFmpeg 结构体学习(三): AVPacket 分析
  15. [ 随手记 4 ]C/C++ 模板(Template)使用/重载区别
  16. Spring Security(二十一):6.3 Advanced Web Features
  17. webpack 非严格模式设置 npm i babel-plugin-transform-remove-strict-mode
  18. python学习打卡 day07 set集合,深浅拷贝以及部分知识点补充
  19. 20172319 《Java程序设计教程》第7周学习总结
  20. HGOI20180904(NOIP2018模拟sxn出题)

热门文章

  1. spoj periodni
  2. JDK8源码之Arrays
  3. linux之安装软件,压缩解压文件
  4. tail语法
  5. day 08文件与字符编码
  6. 解决使用angular2路由后,页面刷新后报404错误。
  7. erlang工作总结
  8. ssh: connect to host gitlab.alpha.com port 22: Network is unreachable
  9. api管理平台
  10. IC卡触点释放时序