202. 阿里Pandora Boot


 

 

【視頻&交流平台】

à 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比較少,對於學習有影響嘛?

 

11.0版本到2.0版本的跨越,主要是新特性的增加,舊的特性還是一樣的,學習完1.0版本升級到2.0版本是很容易的。

2)阿里現在有些項目還是使用1.4.71.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或者掃描以下二維碼即可關注:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM