Spring boot與Spring cloud 之間的關系

Spring boot與Spring cloud 之間的關系

Spring boot 是 Spring 的一套快速配置腳手架,可以基于spring boot 快速開發單個微服務,Spring Boot,看名字就知道是Spring的引導,就是用于啟動Spring的,使得Spring的學習和使用變得快速無痛。不僅適合替換原有的工程結構,更適合微服務開發。

Spring Cloud基于Spring Boot,為微服務體系開發中的架構問題,提供了一整套的解決方案——服務注冊與發現,服務消費,服務保護與熔斷,網關,分布式調用追蹤,分布式配置管理等。

Spring Cloud是一個基于Spring Boot實現的云應用開發工具;Spring boot專注于快速、方便集成的單個個體,Spring Cloud是關注全局的服務治理框架;spring boot使用了默認大于配置的理念,很多集成方案已經幫你選擇好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot來實現。

學過Spring的都知道,Spring開發有非常頭疼的三點:

以啟動一個帶Hibernate的Spring MVC為例。

依賴太多了,而且要注意版本兼容。這個應用,要添加10-20個依賴,Spring相關的包10多個,然后是Hibernate包,Spring與Hibernate整合包,日志包,json包一堆,而且要注意版本兼容性。

配置太多了,要配置注解驅動,要配置數據庫連接池,要配置Hibernate,要配置事務管理器,要配置Spring MVC的資源映射,要在web.xml中配置啟動Spring和Spring MVC等

3.部署和運行麻煩。要部署到tomcat里面。不能直接用java命令運行。

太多重復和大家都一樣的配置了。

Spring Boot的哲學就是約定大于配置。既然很多東西都是一樣的,為什么還要去配置。

通過starter和依賴管理解決依賴問題。
通過自動配置,解決配置復雜問題。
通過內嵌web容器,由應用啟動tomcat,而不是tomcat啟動應用,來解決部署運行問題。
Spring Cloud體系就比較復雜了。基本可以理解為通過Spring Boot的三大魔法,將各種組件整合在一起,非常簡單易用。

wuliao

你可以把spring boot的官方的包分為兩類,一種是為了搭建一個服務用的,比如hibernate jpa,比如 message。另外一種含有cloud關鍵字的,是為了各個spring boot之前管理和使用的包。

因為當把集群、CI等方法集中進來一起考慮的時候,這件事情就復雜了。

多個小有服務整合成的大服務,要有一個消息總線來用于互相通知和調用,要有一個服務發現程序來管理某個小服務上線可用,同時在服務離線時也要能處理,各個小服務要盡量各自獨立,還要考慮服務的依賴性,集群的負載均衡,配置文件的分離。

再把CI和Docker拿進來一起考慮的話,更亂。

但我認為這樣完成的一個服務是更具有可插拔性,更容易維護的。而且遵循了上面的cloud方案的話,在服務的健壯性上面也很強。

寫到這里對于新接觸的我認為可以先從單獨的spring boot程序開始入門,當要添加一個新功能時,考慮拆分成另外服務。兩個程序間可以通過 jmx或是 其它消息中間件或是rest通訊。最后實現了一個各自獨立的功能集群。

總結一句:Spring boot可以離開Spring Cloud獨立使用開發項目,但是Spring Cloud離不開Spring boot,屬于依賴的關系。
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38280.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38280.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38280.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MATLAB中xlsread函數用法

目錄 語法 說明 示例 將工作表讀取到數值矩陣 讀取元胞的范圍 讀取列 請求數值、文本和原始數據 對工作表執行函數 請求自定義輸出 局限性 xlsread函數的功能是讀取Microsoft Excel 電子表格文件 語法 num xlsread(filename) num xlsread(filename,sheet) num x…

Nacos和GateWay路由轉發NotFoundException: 503 SERVICE_UNAVAILABLE “Unable to find

問題再現: 2023-08-15 16:51:16,151 DEBUG [reactor-http-nio-2][CompositeLog.java:147] - [dc73b32c-1] Encoding [{timestampTue Aug 15 16:51:16 CST 2023, path/content/course/list, status503, errorService Unavai (truncated)...] 2023-08-15 16:51:16,17…

leetcode27—移除元素

思路: 參考26題目雙指針的思想,只不過這道題不是快慢指針。 看到示例里面數組是無序的,也就是說后面的元素也是可能跟給定 val值相等的,那么怎么處理呢。就想到了從前往后遍歷,如果left對應的元素 val時&#xff0c…

汽車制造業上下游協作時 外發數據如何防泄露?

數據文件是制造業企業的核心競爭力,一旦發生數據外泄,就會給企業造成經濟損失,嚴重的,可能會帶來知識產權剽竊損害、名譽傷害等。汽車制造業,會涉及到重要的汽車設計圖紙,像小米發送汽車設計圖紙外泄事件并…

[足式機器人]Part5 機械設計 Ch00/01 緒論+機器結構組成與連接 ——【課程筆記】

本文僅供學習使用 本文參考: 《機械設計》 王德倫 馬雅麗課件與日常作業可登錄網址 http://edu.bell-lab.com/manage/#/login,選擇觀摩登錄,查看2023機械設計2。 機械設計-Ch00Ch01——緒論機器結構組成與連接 Ch00-緒論0.1 何為機械設計——…

12.Eclipse導入Javaweb項目

同事復制一份他的項目給我ekp.rar (懶得從SVN上拉取代碼了)放在workspace1目錄下 新建一個文件夾 workspace2,Eclipse切換到workspace2工作空間 選擇Import導入 選擇導入的項目(這里是放到workspace1里面) 拷貝一份到workspace2里面 例子 所有不是在自己電腦上開發…

可白嫖的4家免費CDN,并測試其網絡加速情況(2023版)

網站加載速度優化過程中,不可避免的會用上CDN來加速資源的請求速度。但是市面上的CDN資源幾乎都是要收費的,而且價格還不便宜,對于小公司站長來講,這將是一筆不小的開銷。不過還是有一些良心公司給我們提供了免費的資源&#xff0…

ZooKeeper的基本概念

集群角色 通常在分布式系統中,構成一個集群的每一臺機器都有自己的角色,最典型的集群模式就是Master/Slave模式(主備模式)。在這種模式中,我們把能夠處理所有寫操作的機器稱為Master機器,把所有通過異步復制方式獲取最新數據&…

Redis_億級訪問量數據處理

11. 億級訪問量數據處理 11.1 場景表述 手機APP用戶登錄信息,一天用戶登錄ID或設備ID電商或者美團平臺,一個商品對應的評論文章對應的評論APP上有打卡信息網站上訪問量統計統計新增用戶第二天還留存商品評論的排序月活統計統計獨立訪客(Unique Vistito…

【BEV】3D視覺 PRELIMINARY

這里的知識來自于論文 Delving into the Devils of Bird’s-eye-view Perception: A Review, Evaluation and Recipe 的 Appendix B.1 部分來自 這篇文章 從透視圖轉向鳥瞰圖。(Xw、Yw、Zw)、(Xc、Yc、Zc)表示世界World坐標和相…

Android學習之路(4) UI控件之Button (按鈕)與 ImageButton (圖像按鈕)

本節引言: 今天給大家介紹的Android基本控件中的兩個按鈕控件,Button普通按鈕和ImageButton圖像按鈕; 其實ImageButton和Button的用法基本類似,至于與圖片相關的則和后面ImageView相同,所以本節 只對Button進行講解&am…

vue自定義穿梭框支持遠程滾動加載

分享-2023年資深前端進階:前端登頂之巔-最全面的前端知識點梳理總結,前端之巔 *分享一個使用比較久的🪜 技術框架公司的選型(老項目):vue2 iview-ui 方案的實現思路是共性的,展現UI樣式需要你們自定義進行更改&#…

【注解使用】使用@Autowired后提示:Field injection is not recommended(Spring團隊不推薦使用Field注入)

問題發生場景: 在使用 IDEA 開發 SpringBoot 項目時,在 Controller 類中使用注解 Autowired 注入一個依賴出現了警告提示,查看其他使用該注解的地方同樣出現了警告提示。這是怎么回事?由于先去使用了SpringBoot并沒有對Spring進行…

分布式 - 消息隊列Kafka:Kafka消費者和消費者組

文章目錄 1. Kafka 消費者是什么?2. Kafka 消費者組的概念?3. Kafka 消費者和消費者組有什么關系?4. Kafka 多個消費者如何同時消費一個分區? 1. Kafka 消費者是什么? 消費者負責訂閱Kafka中的主題,并且從…

【數據結構OJ題】反轉鏈表

原題鏈接:https://leetcode.cn/problems/reverse-linked-list/description/ 目錄 1. 題目描述 2. 思路分析 3. 代碼實現 1. 題目描述 2. 思路分析 方法一:三指針翻轉法 使用三個結構體指針n1,n2,n3,原地修改結點…

VSCode如何設置高亮

一、概述 本文主要介紹在 VSCode 看代碼時,怎樣使某個單詞高亮顯示,主要通過以下三步實現: 安裝 highlight-words 插件 配置 highlight-words 插件 設置高亮快捷鍵F8 工作是嵌入式開發的,代碼主要是C/C的,之前一直用…

【Linux】高級IO

目錄 IO的基本概念 釣魚五人組 五種IO模型 高級IO重要概念 同步通信 VS 異步通信 阻塞 VS 非阻塞 其他高級IO 阻塞IO 非阻塞IO IO的基本概念 什么是IO? I/O(input/output)也就是輸入和輸出,在著名的馮諾依曼體系結構當中…

ROS學習筆記(三)---好用的終端Terminator

ROS學習筆記文章目錄 01. ROS學習筆記(一)—Linux安裝VScode 02. ROS學習筆記(二)—使用 VScode 開發 ROS 的Python程序(簡例) 一、Terminator是什么? 在前面的學習中,為了運行hello.py我是在vscode頻繁的點擊運行窗口的“”號…

智谷星圖趙俊:讓人才和區塊鏈產業“雙向奔赴”丨對話MVP

區塊鏈產業需要什么樣的人才?趙俊很有發言權。 趙俊是北京智谷星圖科技有限公司的技術總監,也是FISCO BCOS官方認證講師。他2017年接觸區塊鏈,隨后選擇人才培育領域深耕。“為區塊鏈行業引進更多人才這件事很有價值,跟我的職業理…

菜單和內容滾動的聯動原理及代碼

之前寫代碼有個需求:左側是一個菜單,右邊是內容,點擊左側菜單右邊內容滾動到對應位置,右邊內容滾動到某位置時,左側菜單也會選中對應的菜單項。UI如下:這是大多網站的移動端都會有的需求。 解決方案一&…