国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring框架之我見(六)——Spring Cloud

alighters / 3299人閱讀

摘要:系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。傳統架構升級困難。新的輕量級協議容器化的出現。熔斷處理在微服務出現問題時防止出現雪崩效應。

聊完Spring Boot,我們來看看Spring Boot最重要的一方面的應用——Spring Cloud。
Spring Cloud

再聊SpringCloud之前我們先聊聊微服務。

什么是微服務?
微服務(Micro Service):微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。在所有情況下,每個任務代表著一個小的業務能力。
微服務為什么會出現?

大型整體式應用維護困難。

傳統架構升級困難。

新的輕量級協議(RESTful)、容器化(Docker)的出現。

說完了什么是微服務,我們在開來看Spring Cloud。

什么是Spring Cloud?

提到spring Cloud 大家可能以為他是和云計算相關的框架。其實不是,Spring Cloud是一套用于微服務的、簡單易懂、易部署和易維護的分布式系統開發工具包。
它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。

Spring Cloud如何實現微服務?

Eureka(注冊中心):負責所有微服務的管理。

Ribbon(服務發現):主要負責客戶端的負載均衡

Feign(接口偽裝):使微服務之間的調用像本地調用一樣簡單。

Hystrix(熔斷處理):在微服務出現問題時防止出現雪崩效應。

Zuul(代理機制):安全認證、動態路由、流量管理、服務器負載均衡

Config(配置管理):管理所有微服務的配置文件(GIT/SVN)。

具體的實現流程如下:

將使用Spring Boot寫的用戶微服務注冊于Eureka,使其受Eureka統一的調度管理。

在Eureka外部再包裹一個Ribbon組件,再用戶去訪問用戶微服務的時候,由Ribbon負責多個用戶微服務之間的負載均衡。Ribbon有一個‘心跳’機制,去檢測用戶微服務的狀態,在用戶微服務出現問題時能夠及時發現,并處理。

在Ribbon的外層,還有一個feign組件用于給微服務做接口偽裝,有了feign在用戶調用微服務時就像調用本地的接口一樣簡單,完全隱藏了微服務的存在。

再聊Hystrix之前,我們的先聊一下什么是雪崩效應?以及它有什么危害?先來看一張微服務之間相互調用的關系圖:

假如說用戶希望調用一下微服務A,微服務A又會調用微服務B,微服務B又會去調用微服務C,這時候微服務C出現故障,不能被使用了,如果沒有Hystrix,微服務B所有的調用微服務C的線程都會阻塞,直到把微服務B給拖垮,微服務B一掛,那么微服務A和微服務Y也就掛了。最后微服務X也掛了。這就是雪崩效應。Hystrix就是用來解決這個問題的,假如有了Hystrix,微服務B在調用微服務C出現問題,線程并不會一直等待,而是直接調用微服務B的一個CallBack的回調方法,直接給微服務A返回一個錯誤消息。再過一段時間之后,微服務B會再次嘗試調用微服務C看微服務C是否已經恢復。這就給了整個微服務的集群一個自我恢復的能力。

Zuul就是一個微服務的代理,我們前面說到的代理能干的事它都能干。

Config是用于微服務的配置文件管理的,雖然在Spring Boot的加持下微服務的配置文件已經很少了,但是,在成百上千的微服務集群中,配置文件還是應該有一個組件統一管理和部署。Config使用SVN或者GIT做到配置文件的統一管理,還是十分的方便。

當然Spring Cloud不僅僅只有這幾個工具,其他更有用的工具要靠大家自己發掘了。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68177.html

相關文章

  • Spring框架我見(五)——Spring Boot

    摘要:通過我們可以更輕松地入門,更簡單的使用的框架。團隊為了擺脫框架中各類繁復紛雜的配置,使用約定優于配置的思想,在基礎上整合了大量常用的第三方庫的開發框架。這里還要說的一點,的出現并不是單純的為了簡化開發,更是為做鋪墊。 說完了Spring 我們來聊聊Spring的進階版Spring Boot,如果你還不知道Spring Boot,那希望這篇文章能夠為你指明方向。 Spring Boot ...

    張巨偉 評論0 收藏0
  • Spring框架我見(四)——Spring MVC

    摘要:是結構在框架中的一種表現形式。這句話聽起來有點繞,我們可以看一下下面這張圖,大家可以吧容器中的理解為全局變量,吧容器中的理解為局部變量。在方法體中可以訪問局部變量和全局變量,但是在方法外,就只能訪問全局變量,是不能訪問局部變量的。 聊完了Spring,我們來看看Spring在web方面的應用Spring MVC。 MVC 首先我們來看什么是mvc? 大家知道在jsp里面也是可以寫jav...

    shiina 評論0 收藏0
  • Spring框架我見(三)——IOC、AOP

    摘要:模塊負責的所有面向切面的功能。總結的統一管理,降低了對象之間的耦合對主流的框架提供了很好的集成支持提供眾多組件,事務管理,等具有高度可開放性,開發者可以自由選擇部分或全部主要使用工廠模式和代理模式。 聊完了Spring框架中最重要的兩種設計模式,我們來看一下Spring框架的模塊和結構圖。 Spring框架的結構 下圖是Spring官方給出的Spring框架的結構圖。 showImg(...

    khs1994 評論0 收藏0
  • Spring框架我見(二)——代理模式

    摘要:聊完了工廠模式,下面我們來說框架中的另一個核心設計模式代理模式。這里的外賣小哥就相當于是我們的代理。主要分為代理和代理。 聊完了工廠模式,下面我們來說Spring框架中的另一個核心設計模式——代理模式(Proxy Pattern)。 代理模式 大家可以先不用看概念,先舉個吃飯的例子:比如說我們想吃飯,我們可以選擇自己做飯吃、去飯店吃、叫外賣吃。如果我們選擇自己做著吃,我們就需要去買菜、...

    oneasp 評論0 收藏0
  • Spring框架我見(一)——工廠模式

    摘要:相對于工廠模式,抽象工廠模式生產的對象更加具體,也更加豐富,但相對編碼也更加復雜。具體的抽象工廠模式的實現大家可以參考菜鳥教程。知道了工廠模式和抽象工廠模式的區別,請大家使用的時候應該根據具體的情況進行選擇。 大家好,今天給大家分享一些Spring的學習心得,在講Spring之前,先和大家分享Spring中核心的設計模式。 工廠模式 在聊概念之前我先問問大家:什么是工廠? 這個很簡單,...

    venmos 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<