SpringBoot和微服務的關系


 

要知道微服務,就要先知道什么是單體應用。

單體應用就是很多個功能都在一起打包和部署的應用,就像你練手的ssm項目一樣,里面有很多很多的功能模塊,比如訂單模塊,購物車模塊,用戶模塊,支付模塊,相當於一個箱子裝了很多個蘋果,每一個蘋果就是一個功能模塊。

微服務就是將這些功能模塊都從這個單體應用里面拆出來,拆出來的每個功能都獨立的打包部署到不同的系統去,比如拆成訂單微服務,采購微服務,財務微服務,收費微服務。類似於一箱蘋果每個人去拿了一個,每個人就是系統,蘋果就是功能模塊也就是微服務。

微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注於完成一件任務並很好地完成該任務。在所有情況下,每個任務代表着一個小的業務能力。

拆開之后的各個微服務怎么調用呢?這時候就需要用到springcloud的或者dubbo的遠程調用協議了,相當於每個人怎么去溝通就需要有一種溝通的語言,也就是普通話,普通話就是大家都遵守的協議。

當然就得學習springcloud或者dubbo。

那么這么多的微服務都是一個應用系統了,都需要去搭ssm嗎?不需要使用ssm,那么多的配置,而且是重復配置和重復的搭建ssm不就麻煩了嗎?所以這時候就使用到了springboot來解決ssm搭建應用時候大量的手工配置問題;所以springboot是一個快速搭建應用的框架,不是微服務,解決了ssm大量手工配置,不需要再去配置各種各樣的文件了;直接一個springboot構建起來就可以運行了。

所以,Spring Boot 和微服務沒關系,SpringBoot只是一種快速應用開發框架,微服務是一種架構風格。

 

Java 微服務治理框架普遍用的是 Spring Cloud。

Spring Boot 產生的背景,是開發人員對 Spring 框架越來越復雜的配置吐槽越來越多,Pivotal 設計 Spring Boot 用來簡化新 Spring 應用的初始搭建以及開發過程。正如題主感覺的,Spring Boot 在簡化配置、打包和集成第三方工具方面確實做得很好,可以減低 Spring 開發人員的入門門檻。

Spring Cloud 是 Pivotal 推出的基於Spring Boot的一系列框架的集合,旨在幫助開發者快速搭建一個分布式的服務或應用。Spring Cloud 由眾多子項目組成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul等,提供了搭建分布式系統及微服務常用的工具,如配置管理、服務發現、服務容錯、服務路由等。下圖可以參考。

 

 

參考:

1、https://www.jianshu.com/p/236fc8778250,使用dubbo對傳統單體應用進行改造。

2、http://www.itcast.cn/news/20200410/1359230448.shtml,用springboot構建微服務。

3、http://www.itcast.cn/news/20200318/1346504782.shtml,用springcloud做微服務注冊和發現。

 


免責聲明!

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



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