91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何理解SpringCloud微服務架構

發布時間:2021-10-12 09:04:28 來源:億速云 閱讀:141 作者:iii 欄目:開發技術

這篇文章主要介紹“如何理解SpringCloud微服務架構”,在日常操作中,相信很多人在如何理解SpringCloud微服務架構問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何理解SpringCloud微服務架構”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

如何理解SpringCloud微服務架構

現如今微服務架構十分流行,而采用微服務構建系統也會帶來更清晰的業務劃分和可擴展性。同時,支持微服務的技術棧也是多種多樣的,而Spring  Cloud就是這些技術中的翹楚。

作為新一代的服務框架,Spring  Cloud提出的口號是開發“面向云環境的應用程序”,它為微服務架構提供了更加全面的技術支持。而且作為Spring的拳頭項目,它也能夠與Spring  Framework、Spring Boot、Spring Data、Spring  Batch等其他Spring項目完美融合,這些對于微服務而言是至關重要的。

Spring Cloud的完整技術組成:

  • 今天就給大家分享大概講的最全最通俗易懂的spring cloud視頻

  • SpringCloud微服務架構實戰

  • https://www.ixigua.com/6895923297481916939

理論概念的梳理

在系統架構與設計的實踐中,從宏觀上可以總結為三個階段;

集中式架構:就是把所有的功能、模塊都集中到一個項目中,部署在一臺服務器上,從而對外提供服務(單體架構、單體服務、單體應用);

直白一點:就是只有一個項目,只有一個war;

分布式架構:就是把所有的功能、模塊拆分成不同的子項目,部署在多臺不同的服務器上,這些子項目相互協作共同對外提供服務。

直白一點:就是有很多項目,有很多war包,這些項目相互協作完成需要的功能,不是一 個war能完成的,一個war包完成不了;

比如:

Shop項目:單體應用

Shop項目:拆分--> (user-center, order-center, trade-center) 分布式應用

微服務架構:分布式強調系統的拆分,微服務也是強調系統的拆分,微服務架構屬于分布式架構的范疇;

并且到目前為止,微服務并沒有一個統一的標準的定義,那么微服務究竟是什么?

微服務一詞源于 Martin Fowler(馬丁.福勒)的名為 Microservices 的博文,可以在他的官方博客上找到這篇文章:

http://martinfowler.com/articles/microservices.html

中文翻譯版本:

https://www.martinfowler.cn/articles/microservices.html

簡單地說, 微服務是系統架構上的一種設計風格, 它的主旨是將一個原本獨立的系統拆分成多個小型服務,這些小型服務都在各自獨立的進程中運行,服務之間通過基于  HTTP 的 RESTful API 進行通信協作;

(dubbo -->dubbo協議 )  RESTful API (controller --> 調用 congtroller)

被拆分后的每一個小型服務都專注于完成系統中的某一項業務功能,職責單一, 并且每個服務都是一個獨立的項目,可以進行獨立的測試、開發和部署等;

由于各個獨立的服務之間使用的是基于 HTTP 的 JSON 作為數據通信協作的基礎,所以這些微服務也可以使用不同的語言來開發;

如何理解SpringCloud微服務架構

比如:項目里面有User模塊和Order模塊,但是User模塊和Order模塊并沒有直接關系,僅僅只是一些數據需要交互,那么就可以把這2個模塊單獨分開來,當user需要調用order的時候,order是一個服務方,但是order需要調用user的時候,user又是服務方了,  所以,它們并不在乎誰是服務方誰是調用方,他們都是2個獨立的服務,這就是微服務的概念;

經典面試:分布式和微服務有什么區別?

分布式,就是將巨大的一個系統劃分為多個模塊,這一點和微服務是一樣的,都是要把系統進行拆分,部署到不同機器上,因為一臺機器可能承受不了這么大的訪問壓力,或者說要支撐這么大的訪問壓力需要采購一臺性能超級好的服務器,其財務成本非常高,有這些預算完全可以采購很多臺普通的服務器了,分布式系統各個模塊通過接口進行數據交互,其實分布式也是一種微服務,因為都是把模塊拆分變為獨立的單元,提供接口來調用,那么它們本質的區別是什么?

它們的本質的區別體現在“目標”上, 何為目標,就是你采用分布式架構或者采用微服務架構,你最終是為了什么,要達到什么目的?

分布式架構的目標是什么? 就是訪問量很大一臺機器承受不了,或者是成本問題,不得不使用多臺機器來完成服務的部署;

而微服務的目標是什么?只是讓各個模塊拆分開來,不會被互相影響,比如模塊的升級或者出現BUG或者是重構等等都不要影響到其他模塊,微服務它是可以在一臺機器上部署;

但是:分布式也是微服務的一種,微服務也屬于分布式;

面試:微服務與Spring-Cloud的關系或區別?

微服務只是一種項目的架構方式、架構理念,或者說是一種概念,就如同我們的MVC架構一樣, 那么Spring  Cloud便是對這種架構方式的技術落地實現;

面試:微服務一定要使用Spring Cloud嗎?

微服務只是一種項目的架構方式、架構理念,所以任何技術都可以實現這種架構理念,只是微服務架構里面有很多問題需要我們去解決,比如:負載均衡,服務的注冊與發現,服務調用,服務路由,服務熔斷等等一系列問題,如果你自己從0開始實現微服務的架構理念,那頭發都掉光了,所以Spring  Cloud 幫我們做了這些事情,Spring Cloud將處理這些問題的的技術全部打包好了,我們只需要開箱即用;

What is Spring Cloud?

官網:

https://spring.io/projects/spring-cloud

版本:Greenwich SR3

出自官方:

如何理解SpringCloud微服務架構

Spring  Cloud為開發人員提供了一些工具用來快速構建分布式系統中的一些常見模式和解決一些常見問題(例如配置管理、服務發現、斷路器、智能路由、微代理、控制總線、一次性令牌、全局鎖、領導選舉、分布式會話、群集狀態)。分布式系統的協調導致了很多樣板式的代碼(很多固定套路的代碼),使用Spring  Cloud開發人員可以快速建立實現這些模式的服務和應用程序。它們在任何分布式環境中都能很好地運行,包括開發人員自己的筆記本電腦、裸機數據中心和云計算等托管平臺;

Spring Cloud特性

Spring Cloud為分布式系統開發的典型應用場景提供良好的開箱即用的功能,比如:

  • 分布式/版本化配置

  • 服務注冊和發現

  • 路由

  • 服務與服務間的調用

  • 負載均衡

  • 斷路器

  • 全局鎖

  • 領導選舉與集群狀態

  • 分布式消息傳遞

Spring Cloud下的主要項目

  • Spring Cloud Config

  • Spring Cloud Netflix

  • Spring Cloud Bus

  • Spring Cloud Cloudfoundry

  • Spring Cloud Open Service Broker

  • Spring Cloud Cluster

  • Spring Cloud Consul

  • Spring Cloud Security

  • Spring Cloud Sleuth

  • Spring Cloud Data Flow

  • Spring Cloud Stream

  • Spring Cloud Stream App Starters

  • Spring Cloud Task

  • Spring Cloud Task App Starters

  • Spring Cloud Zookeeper

  • Spring Cloud AWS

  • Spring Cloud Connectors

  • Spring Cloud Starters

  • Spring Cloud CLI

  • Spring Cloud Contract

  • Spring Cloud Gateway

  • Spring Cloud OpenFeign

  • Spring Cloud Pipelines

  • Spring Cloud Function

Spring Cloud的版本

Spring Cloud是由一系列獨立項目組成的,每個獨立的項目具有不同的發布節奏,每次Spring  Cloud發布版本時,就會組合這一系列的子項目,Spring Cloud為了避免大家對版本號的誤解,避免與子項目版本號混淆,所以Spring  Cloud發布的版本是一個按照字母順序的倫敦地鐵站的名字(“天使”是第一個版本,“布里克斯頓”是第二個),字母順序是從A-Z,目前最新穩定版本Greenwich  SR3,當Spring  Cloud里面的某些子項目出現關鍵性bug或重大更新,則發布序列將推出名稱以“.SRX”結尾的版本,其中“X”是一個數字,比如:Greenwich  SR1、Greenwich SR2、Greenwich SR3;

Spring Cloud是微服務開發的一整套解決方案,采用Spring Cloud開發,每個項目依然是使用Spring Boot;

Spring Cloud 與 Spring Boot的兼容版本

如何理解SpringCloud微服務架構

Spring Cloud 的整體架構

如何理解SpringCloud微服務架構

  • Service Provider: 暴露服務的服務提供方。

  • Service Consumer:調用遠程服務的服務消費方。

  • EureKa Server: 服務注冊中心和服務發現中心。

服務消費方直接調用服務提供方

我們知道,Springcloud 構建微服務是基于 SpringBoot 開發的。

1、創建一個 SpringBoot 工程,并且添加 SpringBoot 的相關依賴;

2、創建服務提供者的訪問方法,也就是后續消費者如何訪問提供者;

Spring Cloud 是基于 rest 的訪問,所以我們添加一個 Controller,在該Controller 中提供一個訪問入口:

如何理解SpringCloud微服務架構

3、啟動運行該 SpringBoot 程序,訪問該 controller;

服務消費者也是一個 SpringBoot 項目,服務消費者主要用來消費服務提供者提供的服務;

1、創建一個 SpringBoot 工程,并且添加 SpringBoot 的相關依賴;

2、開發一個消費者方法,去消費服務提供者提供的服務,這個消費者方法也是

一個 Controller:

如何理解SpringCloud微服務架構

3、啟動該 SpringBoot 程序,測試服務消費者調用服務提供者;

到此,關于“如何理解SpringCloud微服務架構”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安仁县| 疏勒县| 永丰县| 宁城县| 盐城市| 丰城市| 岱山县| 梅河口市| 临漳县| 罗城| 贞丰县| 许昌县| 慈溪市| 宜川县| 广水市| 马公市| 上蔡县| 琼海市| 梁河县| 清徐县| 海盐县| 高邮市| 南昌县| 宣威市| 贡觉县| 嘉义市| 嘉义县| 西乌| 澄迈县| 黔南| 万源市| 腾冲县| 嵩明县| 图片| 工布江达县| 丹棱县| 雅安市| 宿迁市| 达拉特旗| 革吉县| 安化县|