之六 2流高手速成記:從SpringBoot到SpringCloudAlibaba

咱們接上回 2流高手速成記(之五):Springboot整合Shiro實現安全管理 - 14號程序員 - 博客園 (cnblogs.com)
身邊常有朋友說:小項目用PHP、大項目用Java(這里絕無貶低PHP技術棧之意) , 曾經有興趣對比過兩種語言的技術棧
PHP有TP、Laravel這樣成熟的企業級框架,Laravel更是秉持匠人精神,利用PHP諸多全新的特性,打造出了現代化的PHP全??蚣?br /> Java則憑借SpringBoot諸多的便捷特性,以及idea這種超智能化ide的加持,相比于傳統的JavaEE開發直接拔高了幾個位次
二者在Web企業級應用開發領域各自占據了一席之地,設計思想層面也存在諸多的相似之處,如果非要找尋二者決定性的差異,我認為答案就在于——SpringCloud的存在!
從SpringBoot到SpringCloud/SpringCloudAlibaba,從單節點到多節點/微服務,完成這樣一次蛻變,是我所期待已久的!

Spring Cloud是一系列框架的有序集合 。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署 。Spring Cloud并沒有重復制造輪子,它只是將各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了復雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包 ?!獊碜园俣劝倏?br />
有人問SpringCloud到底是什么?我們從百科對于SpringCloud的解讀不難看出幾個關鍵信息:
1. SpringCloud是一系列框架的有序集合
2. SpringCloud與SpringBoot無縫集成,使用流程大幅簡化,可基于SpringBoot實現一鍵部署
3. SpringCloud主要用于微服務及分布式開發,包含服務發現、配置中心、負載均衡等諸多內容
OK , 現在SpringCloud是什么清楚了,那我在標題中提到的SpringCloudAlibaba又是什么?
一句話概括——SpringCloudAlibaba是SpringCloud原基礎上的擴展
SpringCloudAlibaba來自國內大名鼎鼎的阿里巴巴技術團隊,他們重新提取微服務框架設計理念的精髓,在原SpringCloud基礎之上派生出了新的技術棧
SpringCloudAlibaba既基于SpringCloud的設計理念,二者又在工具鏈層面彼此獨立,我們來看他們的區別
名稱SpringCloudSpirngCloudAlibaba注冊中心Eureka、ConsulNacos配置中心SpringCloud ConfigNacos網關SpringCloud ZullSpringCloud Gateway負載均衡RibbonLoadbalabcer熔斷降級HystrixSentinel服務調用FeignOpenFeign服務總線BusNacos消息中間件無(第三方替代方案:rabbitmq)RecketMQ分布式解決方案無(第三方替代方案:2pc)Seata從本節開始,我們會基于SpringCloudAlibaba做一系列講解,原生SpringCloud相關技術棧放在之后講解
1. NacosSpringCloudAlibaba體系中第一個重要角色來了!:
從上表SpringCloudAlibaba工具鏈構成中,我們不難發現Nacos被多次提及
Nacos在整個SpringCloudAlibaba體系中擔當了多個重要角色,它既是注冊中心,又是配置中心,還是服務總線
這些概念不理解?沒關系,大家會在后續實際使用過程中逐漸加深認知——這是我個人很喜歡的一種風格,概念聽別人講再多,不如自己實際上手體驗一次,每個人自然形成自己獨有的認知
我們先移步至Nacos官網:https://nacos.io/zh-cn/index.html
前往Github下載最新的Release版本解壓即可,我們到bin目錄下執行命令
startup.cmd -m standalone -f naming
以單機模式啟動Nacos,而后訪問 http://127.0.0.1:8848/nacos/ 將進入登錄界面:
之六 2流高手速成記:從SpringBoot到SpringCloudAlibaba

文章插圖
初始默認賬號nacos,密碼nacos,登錄后看到主界面
之六 2流高手速成記:從SpringBoot到SpringCloudAlibaba

文章插圖
大家可以看到,最開始這里是沒有內容的
2. Nacos作為注冊中心新建一個SpringCloudAlibaba工程
之六 2流高手速成記:從SpringBoot到SpringCloudAlibaba

文章插圖
我們依然延續第一節(2流高手速成記(之一):初識SpringBoot及基礎項目構建 - 14號程序員 - 博客園 (cnblogs.com))中這種構建工程的方式
之六 2流高手速成記:從SpringBoot到SpringCloudAlibaba

文章插圖
區別在于這次我們要重點勾選SpringCloud及SpringCloudAlibaba相關依賴項
之六 2流高手速成記:從SpringBoot到SpringCloudAlibaba

文章插圖
之后我們將獲得一個與之前SpringBoot模板略有不同的工程目錄結構

推薦閱讀