202. 阿里Pandora Boot

 

 

【視頻&交流平臺】

à SpringBoot視頻http://t.cn/R3QepWGgit

à SpringCloud視頻http://t.cn/R3QeRZcspring

à Spring Boot源碼https://gitee.com/happyangellxq520/spring-bootsql

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

à Spring Boot Shiro視頻http://t.cn/R3QDMbh服務器

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

 

 

前言app

阿里的Pandora Boot的核心是Pandora,所以在介紹Pandora Boot以前須要先介紹Pandora。maven

在阿里集體內部,幾乎全部的應用都用到了各式各樣的中間件,好比HSF、TDDL、Diamond等等。自己中間件之間可能就有版本依賴的問題,好比你的應用HSF和Diamond分別依賴了同名jar包的不一樣版本,maven只會引入其中一個版本。一樣的中間件和應用之間也存在一樣的Jar包依賴的問題,出於要解決這些依賴衝突的問題,阿里就開發了Pandora。函數

 

Pandora 概述spring-boot

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,外部也和 AONE二、PSP 等系統進行打通,開發起來更加的方便。

 

如今的學習資料和視頻大多都是1.四、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或者掃描如下二維碼便可關注:

相關文章
相關標籤/搜索