溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

『高級篇』docker之springboot,springcloud(八)

發(fā)布時間:2020-09-12 08:01:18 來源:網(wǎng)絡(luò) 閱讀:366 作者:IT人故事 欄目:云計算

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
原文鏈接地址:『高級篇』docker之springboot,springcloud(八)

介紹了很多關(guān)于微服務(wù)的東西,大家對微服務(wù)有了一些認(rèn)識,但是考慮到各位老鐵java比較多,那就不得不說springboot 和 springcloud。在java的世界里他們跟微服務(wù)有這密切的關(guān)系,剛接觸springboot和springcloud的同學(xué)可能存在一種混亂,springboot跟微服務(wù)的關(guān)系,springcloud跟微服務(wù)的關(guān)系,springboot和springcloud他們之間的關(guān)聯(lián)關(guān)系,幫大家瀝青思路,撇清關(guān)系,不在背鍋!

SpringBoot的使命

springBoot是spring旗下的項(xiàng)目,它具體為什么出現(xiàn),他的使命是什么?最主要的就是化繁為簡,讓我們開發(fā)spring變的簡單,各種xml的配置,各種bean,服務(wù)接口,實(shí)現(xiàn),緩存,消息隊(duì)列,里面沒個3個以上的spring配置文件很難看出來你是spring的項(xiàng)目,有點(diǎn)麻煩配置文件太多了。

  • 獨(dú)立運(yùn)行 java -jar *.jar

    原來的需要一個web服務(wù)器,tomcat,代碼發(fā)布到服務(wù)器的指定位置。

  • 內(nèi)嵌web服務(wù)器

    講web服務(wù)器和應(yīng)用的包打在一起,讓我們不用關(guān)心細(xì)節(jié)一個命令就可以啟動。

  • 簡化配置

    盡可能自動化的配置spring,這里面很多配置都是固定的,這里面通過start以幫助我們簡化maven的配置。

  • 準(zhǔn)生產(chǎn)的應(yīng)用監(jiān)控
SpringBoot與微服務(wù)的關(guān)系

Java的潤滑劑,springboot開發(fā)微服務(wù)的潤滑劑。springboot的簡化,簡化的開發(fā),簡化的配置,簡化的部署。微服務(wù)的特征是輕量靈活,多變,數(shù)量多。他們的特征非常的搭配,使用springboot開發(fā)微服務(wù)正好應(yīng)對的微服務(wù)的特征,springboot開發(fā)和部署的過程更加變快了,所以springboot可以更快,更容易開發(fā)出更多的服務(wù)。如果你是java語言,使用springboot開發(fā)微服務(wù)是沒錯的。其實(shí)springboot沒太多特別,但是效率提高了,天下武功唯快不破!

SpringCloud的使命

簡化java的分布式系統(tǒng),當(dāng)你將java應(yīng)用部署到多臺服務(wù)器的時候,提供分布式能力的時候,第一要遇到的問題就是web端的session共享,多個服務(wù)之前的負(fù)載均衡,在nginx通過輪訓(xùn)的方式訪問不同的tomcat。單機(jī)的情況下直接通過ip或者端口就可以直接訪問了,如果是分布式怎么辦?我們要自己寫一個具有容錯能力和負(fù)載聚恒的客戶端吧,還有分布式下事務(wù)管理怎么辦,其實(shí)在springcloud簡化類似我們之前的一些問題。

springCloud為開發(fā)者快速開發(fā)具有分布式能力的服務(wù),統(tǒng)一的配置管理,服務(wù)的注冊,服務(wù)的調(diào)用,服務(wù)的發(fā)現(xiàn),調(diào)度器,負(fù)載均衡,全局鎖,分布式session。

  • 一系列框架

    集合框架

  • 簡化java的分布式系統(tǒng)

    spring boot 簡化了java的開發(fā),spring cloud簡化了分布式系統(tǒng)的開發(fā)(分布式系統(tǒng)的基礎(chǔ)設(shè)施的開發(fā))

  • springboot的封裝

    幾家服務(wù)框架進(jìn)行了組合,通過springboot的風(fēng)格進(jìn)行封裝,基于springboot的一款開發(fā)工具。

boot 和cloud
  • springboot意在簡化,是一種開發(fā),配置風(fēng)格
  • springcloud意在簡化分布式,是功能的集合,風(fēng)格的統(tǒng)一
cloud vs 微服務(wù)
  • java cloud的初衷簡化微服務(wù)的開發(fā)和部署
  • java微服務(wù)的解決方案
  • 側(cè)重的是功能和開發(fā)

    提供多臺機(jī)器,部署了spring cloud的應(yīng)用,但是他們之間的運(yùn)維spring cloud做不了的。

  • 其實(shí)最終springcloud開發(fā)出來的應(yīng)用最終是docker image,方便重啟應(yīng)用需要使用服務(wù)編排工具。
spring cloud的核心組件
  • netfilx eureka

    服務(wù)發(fā)現(xiàn)組件

  • netfilx ribbon

    客戶端負(fù)載均衡組件

  • netfilx Hystrix

    調(diào)度器

  • netfilx Zuul

    服務(wù)網(wǎng)關(guān)

  • Spring cloud config

    分布式配置

發(fā)現(xiàn)沒有里面很多都是netfilx,netfilx 其實(shí)是個美國在線影視公司。說說他的歷史吧,我學(xué)什么語言喜歡看看他的歷史。很久很久以前,有一家公司叫Blockbuster,稱霸租碟業(yè)許多年。某個叫Reed Hastings的哥們在那里租了個碟,結(jié)果由于超期歸還被黑走“一大筆”逾期費(fèi)(大概40美元),怒了。然后他忿忿地去健身,發(fā)覺健身房商業(yè)模式甚是美哉,不管你去得多還是少,會員費(fèi)半毛錢也不能少交。很不巧,Hastings是一個動不動就要改變世界的軟件工程師,想法來了就要干,更不巧的是他當(dāng)時已經(jīng)非常有錢。于是憤怒之余他創(chuàng)辦了Netflix,也是做租碟生意,沒有逾期費(fèi)并且搞會員制。十三年后Netflix把Blockbuster干到了破產(chǎn)保護(hù),大仇得報。這個故事告訴我們兩個道理:
1.客戶服務(wù)一定要做好,不該薅的羊毛就別死命薅,不然你就是逼羊?yàn)榛ⅰ?
2.工程師惹不起。

  • netfilx 開源了很多分布式的解決方案,但是直接使用目標(biāo)麻煩,門檻比較高,spring cloud把他們拿過來做了跟spring的整合,讓他跟spring的整合更高,
介紹下spring cloud的組件

主要了解原理,不會深入介紹spring cloud。

  • netfilx eureka

『高級篇』docker之springboot,springcloud(八)

  • netfilx ribbon

『高級篇』docker之springboot,springcloud(八)

  • netfilx hystrix

『高級篇』docker之springboot,springcloud(八)

  • netflix zuul

『高級篇』docker之springboot,springcloud(八)

  • spring cloud config

『高級篇』docker之springboot,springcloud(八)

PS:下面我們一步一步spring cloud+spring boot創(chuàng)建的微服務(wù),部署在服務(wù)編排框架上。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI