網站首頁 編程語言 正文
前言
在搞清楚SpringCloud和微服務的關系之前,我們需要先了解兩個點:
1、微服務是什么
2、SpringCloud是什么
該篇文章力求用“”精簡“”的話來說明
文章目錄
- 前言
- 1、微服務是什么
- 2、SprignCloud是什么
- 3、SpringCloud和微服務之間的關系
- 總結
1、微服務是什么
就兩句話
(1)微服務就是一種架構風格
(2)微服務就是把一個項目拆分成獨立的多個服務,并且多個服務是可以獨立運行的,而每個服務都會占用線程。
關于微服務的詳細說明可以看這篇文章:什么是微服務
2、SprignCloud是什么
首先,我們要明白Spring和SpringBoot與SpringCloud之間的關系?
這里就不以常規的方式介紹這兩個,大家也都知道Spring就是一個框架,這里以另外一個角度來說
1、Spring是基于Java語言的一款框架
2、Spring Boot 是 Spring 的一套快速配置腳手架,可以基于Spring Boot 快速開發單個微服務。在Spring的基礎上來簡化配置,以約定大于配置的思想來實現自動裝配。
3、Spring Cloud很大的一部分是基于Spring Boot來實現,必須基于Spring Boot開發。可以單獨使用Spring Boot開發項目,但是Spring Cloud離不開 Spring Boot。
那SpringCloud到底是什么呢?
SpringCloud并不是一款新框架或者新技術,而是一系列框架的集合。它利用Spring Boot的開發便利性簡化了分布式系統基礎設施的開發,如服務發現、服務注冊、配置中心、消息總線、負載均衡、 熔斷器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。
既然說到這了,就額外補充一下SpringCloud的其他知識,也算是加深一下印象啦~
1、Spring Cloud相關基礎服務組件
服務發現——Netflix Eureka (Nacos)
服務調用——Netflix Feign
熔斷器——Netflix Hystrix
服務網關——Spring Cloud GateWay
分布式配置——Spring Cloud Config (Nacos)
消息總線 —— Spring Cloud Bus (Nacos)
關于Nacos的詳細介紹不了解的可以看這篇文章哦~Nacos的介紹和安裝
2、Spring Cloud的版本
Spring Cloud并沒有熟悉的數字版本號,而是對應一個開發代號。
再補充一個關于版本的小知識:
SNAPSHOT: 快照版本,隨時可能修改
M: MileStone,M1表示第1個里程碑版本,一般同時標注PRE,表示預覽版版。
SR: Service Release,SR1表示第1個正式版本,一般同時標注GA:(GenerallyAvailable),表示穩定版本。
3、SpringCloud和微服務之間的關系
想要搞清楚這個問題,我們要從另外一個角度來切入。
那就是微服務的四個核心問題:
1、服務很多,客戶端該怎么訪問
2、這么多服務,服務之間如何通信?
3、這么多服務,如何治理?
4、服務掛了怎么辦?
有了問題,那肯定就要有解決方案,這個時候我們的SpringCloud就登場了
- 第一套解決方案:SpringCloud NetFlix ,稱為一站式解決方法!
- 第二套解決方法:Apache Dubbo + Zookeeper 屬于半自動,需要整合別人的
- 第三套解決方案:Spring Cloud Alibaba 也是一站式解決方案
所以:我們可以“簡單”的理解為,SpringCloud就是為了解決微服務問題而產生的,當然,肯定不會這么簡單,SpringCloud肯定還有別的功能
、
比如;服務發現、服務調用、容災機制、負載均衡這些,在這里就不說明了~
總結
該篇文章是我根據:尚硅谷和狂神說的教學總結寫出來的,寫下的意義也是為了加深這些知識點的印象,以便更好的理解,當然,如果也能幫助到你,那就更好了~
原文鏈接:https://blog.csdn.net/weixin_47316183/article/details/124904843
相關推薦
- 2022-08-21 C語言實現隊列的示例詳解_C 語言
- 2022-06-21 C++分析講解類的靜態成員函數如何使用_C 語言
- 2022-05-22 C#多線程編程Task用法詳解_C#教程
- 2023-02-28 ts定義之 內置對象( BOM,DOM,Date,Promise等 )
- 2022-07-08 python?動態規劃問題解析(背包問題和最長公共子串)_python
- 2022-03-24 基于Docker的可持續交付問題_docker
- 2022-06-01 分享Python?加速運行技巧_python
- 2022-05-23 python中3種等待元素出現的方法總結_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支