1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        從零開始搭建公司微服務(wù)架構(gòu)技術(shù)棧,這套架構(gòu)絕了...

        共 7745字,需瀏覽 16分鐘

         ·

        2021-11-27 02:09

        近年,Spring Cloud 儼然已經(jīng)成為微服務(wù)開發(fā)的主流技術(shù)棧,在國內(nèi)開發(fā)者社區(qū)非常火爆。我近年一直在一線互聯(lián)網(wǎng)公司(攜程,拍拍貸等)開展微服務(wù)架構(gòu)實(shí)踐,根據(jù)我個人的一線實(shí)踐經(jīng)驗(yàn)和我平時對 Spring Cloud 的調(diào)研,我認(rèn)為 Spring Cloud 技術(shù)棧中的有些組件離生產(chǎn)級開發(fā)尚有一定距離。比方說 Spring Cloud Config 和 Spring Cloud Sleuth 都是 Pivotal 自研產(chǎn)品,尚未得到大規(guī)模企業(yè)級生產(chǎn)應(yīng)用,很多企業(yè)級特性缺失(具體見我后文描述)。

        另外 Spring Cloud 體系還缺失一些關(guān)鍵的微服務(wù)基礎(chǔ)組件,比如 Metrics 監(jiān)控,健康檢查和告警等。所以我在參考 Spring Cloud 微服務(wù)技術(shù)棧的基礎(chǔ)上,結(jié)合自身的實(shí)戰(zhàn)落地經(jīng)驗(yàn),也結(jié)合國內(nèi)外一線互聯(lián)網(wǎng)公司(例如 Netflix,點(diǎn)評,攜程,Zalando 等)的開源實(shí)踐,綜合提出更貼近國內(nèi)技術(shù)文化特色的輕量級的微服務(wù)參考技術(shù)棧。希望這個參考技術(shù)棧對一線的架構(gòu)師(或者是初創(chuàng)公司)有一個好的指導(dǎo),能夠少走彎路,快速落地微服務(wù)架構(gòu)。

        這個參考技術(shù)棧和總體架構(gòu)如下圖所示:

        主要包含 11 大核心組件,分別是:

        核心支撐組件

        1. 服務(wù)網(wǎng)關(guān) Zuul

        2. 服務(wù)注冊發(fā)現(xiàn) Eureka+Ribbon

        3. 服務(wù)配置中心 Apollo

        4. 認(rèn)證授權(quán)中心 Spring Security OAuth2

        5. 服務(wù)框架 Spring MVC/Boot

        監(jiān)控反饋組件

        1. 數(shù)據(jù)總線 Kafka

        2. 日志監(jiān)控 ELK

        3. 調(diào)用鏈監(jiān)控 CAT

        4. Metrics 監(jiān)控 KairosDB

        5. 健康檢查和告警 ZMon

        6. 限流熔斷和流聚合 Hystrix/Turbine

                                   

                                        核心支撐組件

        服務(wù)網(wǎng)關(guān) Zuul

        2013 年左右,InfoQ 曾經(jīng)對前 Netflix 架構(gòu)總監(jiān) Adrian Cockcroft 有過一次專訪 [附錄 1],其中有問 Adrian:“Netflix 開源這么多項(xiàng)目,你認(rèn)為哪一個是最不可或缺的 (MOST Indispensable)”,Adrian 回答說:“在 NetflixOSS 開源項(xiàng)目中,有一個容易被忽略,但是 Netflix 最強(qiáng)大的基礎(chǔ)服務(wù)之一,它就是 Zuul 網(wǎng)關(guān)服務(wù)。Zuul 網(wǎng)關(guān)主要用于智能路由,同時也支持認(rèn)證,區(qū)域和內(nèi)容感知路由,將多個底層服務(wù)聚合成統(tǒng)一的對外 API。Zuul 網(wǎng)關(guān)的一大亮點(diǎn)是動態(tài)可編程,配置可以秒級生效”。從 Adrian 的回答中,我們可以感受到 Zuul 網(wǎng)關(guān)對微服務(wù)基礎(chǔ)架構(gòu)的重要性。

        Zuul 在英文中是一種怪獸,星際爭霸中蟲族里頭也有 Zuul,Netflix 為網(wǎng)關(guān)起名 Zuul,寓意看門神獸。

        Zuul 網(wǎng)關(guān)在 Netflix 經(jīng)過生產(chǎn)級驗(yàn)證,在納入 Spring Cloud 體系之后,在社區(qū)中也有眾多成功的應(yīng)用。Zuul 網(wǎng)關(guān)在攜程(日流量超 50 億),拍拍貸等公司也有成功的落地實(shí)踐,是微服務(wù)基礎(chǔ)架構(gòu)中網(wǎng)關(guān)一塊的首選。其它開源產(chǎn)品像 Kong 或者 Nginx 等也可以改造支持網(wǎng)關(guān)功能,但是較復(fù)雜門檻高一點(diǎn)。

        Zuul 網(wǎng)關(guān)雖然不完全支持異步,但是同步模型反而使它簡單輕量,易于編程和擴(kuò)展,當(dāng)然同步模型需要做好限流熔斷(和限流熔斷組件 Hystrix 配合),否則可能造成資源耗盡甚至雪崩效應(yīng)(cascading failure)。

        服務(wù)注冊發(fā)現(xiàn) Eureka + Ribbon

        針對微服務(wù)注冊發(fā)現(xiàn)場景,社區(qū)里頭的開源產(chǎn)品當(dāng)中,經(jīng)過生產(chǎn)級大流量驗(yàn)證的,目前只有 Netflix Eureka 一個,它也已經(jīng)納入 Spring Cloud 體系,在社區(qū)中有眾多成功應(yīng)用,例如攜程 Apollo 配置中心也是使用 Eureka 做軟負(fù)載。其它產(chǎn)品如 Zookeeper/Etcd/Consul 等,都是比較通用的產(chǎn)品,還需要進(jìn)一步封裝定制才可生產(chǎn)級使用。Eureka 支持跨數(shù)據(jù)中心高可用,但它是 AP 最終一致系統(tǒng),不是強(qiáng)一致性系統(tǒng)。

        Ribbon 是可以和 Eureka 配套對接的客戶端軟負(fù)載庫,在 Eureka 的配合下能夠支持多種靈活的動態(tài)路由和負(fù)載均衡策略。內(nèi)部微服務(wù)直連可以直接走 Ribbon 客戶端軟負(fù)載,網(wǎng)關(guān)上也可以部署 Ribbon,這時網(wǎng)關(guān)相當(dāng)于一個具有路由和軟負(fù)載能力的超級客戶端。

        Ribbon 是蝴蝶結(jié)的意思。

        服務(wù)配置中心 Apollo

        Spring Cloud 體系里頭有個 Spring Cloud Config 產(chǎn)品,但是功能遠(yuǎn)遠(yuǎn)達(dá)不到生產(chǎn)級,只能小規(guī)模場景下用,中大規(guī)模企業(yè)級場景不建議采用。攜程框架研發(fā)部開源的 Apollo 是一款在攜程和其它眾多互聯(lián)網(wǎng)公司生產(chǎn)落地下來的產(chǎn)品,開源兩年多,目前在 github 上有超過 4k 星,非常成功,文檔齊全也是它的一大亮點(diǎn),推薦作為企業(yè)級的配置中心產(chǎn)品。

        Apollo 支持完善的管理界面,支持多環(huán)境,配置變更實(shí)時生效,權(quán)限和配置審計等多種生產(chǎn)級功能。Apollo 既可以用于連接字符串等常規(guī)配置場景,也可用于發(fā)布開關(guān)(Feature Flag)和業(yè)務(wù)配置等高級場景。在《2018 波波的微服務(wù)基礎(chǔ)架構(gòu)和實(shí)踐》課程中,第二個模塊就配置中心相關(guān)主題,會深度剖析攜程 Apollo 的架構(gòu)和實(shí)踐,預(yù)計 6 月份推出,歡迎大家關(guān)注學(xué)習(xí)。

        阿波羅是希臘神話中太陽神的意思

        認(rèn)證授權(quán)中心 Spring Security OAuth2

        目前開源社區(qū)還沒有特別成熟的微服務(wù)安全認(rèn)證中心產(chǎn)品,之前我工作過的一些中大型互聯(lián)網(wǎng)公司,比如攜程,唯品會等,在這一塊基本都是定制自研的,但是對一般企業(yè)來說,定制自研還是有門檻的。OAuth2 是一種基于令牌 Token 的授權(quán)框架,已經(jīng)得到眾多大廠(Google, Facebook, Twitter, Microsoft 等)的支持,可以認(rèn)為是事實(shí)上的微服務(wù)安全協(xié)議標(biāo)準(zhǔn),適用于開放平臺聯(lián)合登錄,現(xiàn)代微服務(wù)安全(包括單頁瀏覽器 App/ 無線原生 App/ 服務(wù)器端 WebApp 接入微服務(wù),以及微服務(wù)之間調(diào)用等場景),和企業(yè)內(nèi)部應(yīng)用認(rèn)證授權(quán) (IAM/SSO) 等多種場景。

        Spring Security OAuth2 是 Spring Security 基礎(chǔ)上的一個擴(kuò)展,支持四種主要的 OAuth2 Flows,基本可以作為微服務(wù)認(rèn)證授權(quán)中心的推薦產(chǎn)品。但是 Spring Security OAuth2 還只是一個框架,不是一個端到端的開箱即用的產(chǎn)品,企業(yè)級應(yīng)用仍需在其上進(jìn)行定制,例如提供 Web 端管理界面,對接企業(yè)內(nèi)部的用戶認(rèn)證登錄系統(tǒng),使用 Cache 緩存令牌,和微服務(wù)網(wǎng)關(guān)對接等,才能作為生產(chǎn)級使用。在《2018 波波的微服務(wù)基礎(chǔ)架構(gòu)和實(shí)踐》課程中,第一個模塊就是微服務(wù)安全架構(gòu)和實(shí)踐相關(guān)主題,會深度剖析 OAuth2 原理和 Spring Security OAuth2 實(shí)踐,歡迎大家關(guān)注學(xué)習(xí)。

        Spring Security OAuth2 是 Spring Security 框架的一個擴(kuò)展。

        服務(wù)框架 Spring/Boot

        Spring 可以說是史上最成功的 Web App/API 開發(fā)框架之一,它融入了 Java 社區(qū)中多年來沉淀下來的最佳實(shí)踐,雖然有將近 15 年歷史,但目前的社區(qū)活躍度仍呈上升趨勢。Spring Boot 在 Spring 的基礎(chǔ)上進(jìn)一步打包封裝,提供更貼心的 Starter 工程,自啟動能力,自動依賴管理,基于代碼的配置等特性進(jìn)一步降低接入門檻。另外 Spring Boot 也提供 actuator 這樣的生產(chǎn)級監(jiān)控特性,支持 DevOps 研發(fā)模式,它是微服務(wù)開發(fā)框架的推薦首選。

        REST 契約規(guī)范 Swagger 和 Spring 有比較好的集成,使得 Spring 也支持契約驅(qū)動開發(fā) (Contract Driven Development) 模型。對于一些中大規(guī)模的企業(yè),如果業(yè)務(wù)復(fù)雜團(tuán)隊(duì)較多,考慮到互操作性和集成成本,建議采用契約驅(qū)動開發(fā)模型,也就是開發(fā)時先定義 Swagger 契約,然后再通過契約生成服務(wù)端接口和客戶端,再實(shí)現(xiàn)服務(wù)端業(yè)務(wù)邏輯,這種開發(fā)模型能夠標(biāo)準(zhǔn)化接口,降低系統(tǒng)間集成成本,對于多團(tuán)隊(duì)協(xié)同并行開發(fā)非常重要。

        監(jiān)控反饋組件

        數(shù)據(jù)總線 Kafka

        最初由 Linkedin 研發(fā)并在其內(nèi)部大規(guī)模成功應(yīng)用,然后在 Apache 上開源的 Kafka,是業(yè)內(nèi)數(shù)據(jù)總線 (Databus) 一塊的標(biāo)配,幾乎每一家互聯(lián)網(wǎng)公司都可以看到 Kafka 的身影。Kafka 堪稱開源項(xiàng)目的一個經(jīng)典成功案例,其創(chuàng)始人團(tuán)隊(duì)從 Linkedin 離職后還專門成立了一家叫 confluent 的企業(yè)軟件服務(wù)公司,圍繞 Kafka 周邊提供配套和增值服務(wù)。在監(jiān)控一塊,日志和 Metrics 等數(shù)據(jù)可以通過 Kafka 做收集、存儲和轉(zhuǎn)發(fā),相當(dāng)于中間增加了一個大容量緩沖,能夠應(yīng)對海量日志數(shù)據(jù)的場景。除了日志監(jiān)控數(shù)據(jù)收集,Kafka 在業(yè)務(wù)大數(shù)據(jù)分析,IoT 等場景都有廣泛應(yīng)用。如果對 Kafka 進(jìn)行適當(dāng)定制增強(qiáng),還可以用于傳統(tǒng)消息中間件場景。

        Kafka 的特性是大容量,高吞吐,高可用,數(shù)據(jù)可重復(fù)消費(fèi),可水平擴(kuò)展,支持消費(fèi)者組等。Kafka 尤其適用于不嚴(yán)格要求實(shí)時和不丟數(shù)據(jù)的大數(shù)據(jù)日志場景。

        Kafka 創(chuàng)始人三人組,離開 Linkedin 后,創(chuàng)立了基于 Kafka 的創(chuàng)業(yè)公司 Confluent。

        日志監(jiān)控 ELK

        <![endif]-->

        ELK(ElasticSearch/Logstash/Kibana)是日志監(jiān)控一塊的標(biāo)配技術(shù)棧,幾乎每一家互聯(lián)網(wǎng)公司都可以看到 ELK 的身影,據(jù)稱攜程是國內(nèi) ELK 的最大用戶,每日增量日志數(shù)據(jù)量達(dá)到 80~90TB。ELK 已經(jīng)非常成熟,基本上是開箱即用,后續(xù)主要的工作在運(yùn)維、治理和調(diào)優(yōu)。

        ELK 一般和 Kafka 配套使用,因?yàn)槿罩痉衷~操作還是比較耗時的,Kafka 主要作為前置緩沖,起到流量消峰作用,抵消日志流量高峰和消費(fèi)(分詞建索引)的不匹配問題。一旦反向索引建立,日志檢索是非??斓模匀罩緳z索快和靈活是 ElasticSearch 的最大亮點(diǎn)。另外 ELK 還有大容量,高吞吐,高可用,可水平擴(kuò)容等企業(yè)級特性。

        創(chuàng)業(yè)公司起步期,考慮到資源時間限制,調(diào)用鏈監(jiān)控和 Metrics 監(jiān)控可以不是第一優(yōu)先級,但是 ELK 是必須搭一套的,應(yīng)用日志數(shù)據(jù)一定要收集并建立索引,基本能夠覆蓋大部分 Trouble Shooting 場景(業(yè)務(wù),性能,程序 bug 等)。

        另外用好 ELK 的關(guān)鍵是治理,需要制定一些規(guī)則(比如只收集 Warn 級別以上日志),對應(yīng)用的日志數(shù)據(jù)量做好監(jiān)控,否則開發(fā)人員會濫用,什么垃圾數(shù)據(jù)都往 ELK 里頭丟,造成大量空間被浪費(fèi),嚴(yán)重的還可能造成性能可用性問題。

        ELK + Kafka 參考部署架構(gòu)

        調(diào)用鏈監(jiān)控 CAT

        Spring Cloud 支持基于 Zipkin 的調(diào)用鏈監(jiān)控,我個人基于實(shí)踐經(jīng)驗(yàn)認(rèn)為 Zipkin 還不能算一款企業(yè)級調(diào)用鏈監(jiān)控產(chǎn)品,充其量只能算是一個半成品,很多重要的企業(yè)級特性缺失。Zipkin 最早是由 Twitter 在消化 Google Dapper 論文的基礎(chǔ)上研發(fā),在 Twitter 內(nèi)部有較成功應(yīng)用,但是在開源出來的時候把不少重要的統(tǒng)計報表功能給閹割了(因?yàn)橐蕾囉谝恍┍容^重的大數(shù)據(jù)分析平臺),只是開源了一個半成品,能簡單查詢和呈現(xiàn)可視化調(diào)用鏈,但是細(xì)粒度的調(diào)用性能數(shù)據(jù)報表沒有開源。

        Google 大致在 2007 年左右開始研發(fā)稱為 Dapper 的調(diào)用鏈監(jiān)控系統(tǒng),但在遠(yuǎn)遠(yuǎn)早于這個時間(大致在 2002 左右),eBay 就已經(jīng)有了自己的調(diào)用鏈監(jiān)控系統(tǒng) CAL(Centralized Application Logging),Google 和 eBay 的設(shè)計思路大致相同,但是也有一些差別。CAL 在 eBay 有大規(guī)模成功應(yīng)用,被稱為是 eBay 的四大神器之一(另外三個是 DAL,Messaging 和 SOA)。

        開源調(diào)用鏈監(jiān)控系統(tǒng) CAT 的作者吳其敏(我曾經(jīng)和他同事,習(xí)慣叫他老吳),曾經(jīng)在 eBay 工作近十年,期間深入消化吸收了 CAL 的設(shè)計。2011 年后老吳離開 eBay 去了點(diǎn)評,用三年時間在點(diǎn)評再造了一款調(diào)用鏈監(jiān)控產(chǎn)品 CAT(Centralized Application Tracking),CAT 具有 CAL 的基因和影子,同時也融入了老吳在點(diǎn)評的探索實(shí)踐和創(chuàng)新。

        CAT 是一款更完整的企業(yè)級調(diào)用鏈監(jiān)控產(chǎn)品,甚至已經(jīng)接近一個 APM(Application Performance Management)產(chǎn)品的范疇,它不僅支持調(diào)用鏈的查詢和可視化,還支持細(xì)粒度的調(diào)用性能數(shù)據(jù)統(tǒng)計報表,這塊是 CAT 和市面上其它開源調(diào)用鏈監(jiān)控產(chǎn)品最本質(zhì)的差異點(diǎn),實(shí)際上開發(fā)人員大部分時間用 CAT 是看性能統(tǒng)計報表(主要是 CAT 的 Transaction 和 Problem 報表),這些報表相當(dāng)于給了開發(fā)人員一把尺子,可以自助測量并持續(xù)改進(jìn)應(yīng)用性能。另外 CAT 還支持應(yīng)用報錯大盤,自助告警等功能,也是企業(yè)級監(jiān)控非常實(shí)用的功能。

        CAT 在點(diǎn)評,攜程,陸金所,拍拍貸等公司有成功落地案例,因?yàn)槭菄a(chǎn)調(diào)用鏈監(jiān)控產(chǎn)品,界面展示和功能等更契合國內(nèi)文化,更易于在國內(nèi)公司落地。個人推薦 CAT 作為微服務(wù)調(diào)用鏈監(jiān)控的首選。

        至于社區(qū)里頭有人提到 CAT 的侵入性問題,我覺得是要一分為二看,有利有弊,有耦合性但是性能更好,一般企業(yè)中基礎(chǔ)架構(gòu)團(tuán)隊(duì)會使用 CAT 統(tǒng)一為基礎(chǔ)組件埋點(diǎn),開發(fā)人員一般不用自己埋點(diǎn);另外企業(yè)用了一款調(diào)用鏈監(jiān)控產(chǎn)品以后,一般是不會換的,開發(fā)人員用習(xí)慣就好了,侵入不是大問題。

        CAT 的 Transaction 報表

        Metrics 監(jiān)控 KariosDB

        除了日志和調(diào)用鏈,Metrics 也是應(yīng)用監(jiān)控的重要關(guān)注點(diǎn)?;ヂ?lián)網(wǎng)應(yīng)用提倡度量驅(qū)動開發(fā)(Metrics Driven Development),也就是說開發(fā)人員不僅要關(guān)注功能實(shí)現(xiàn),做好單元測試(TDD),還要做好業(yè)務(wù)層(例如注冊,登錄和下單數(shù)等)和應(yīng)用層(例如調(diào)用數(shù),調(diào)用延遲等)的監(jiān)控埋點(diǎn),這個也是 DevOps(開發(fā)即運(yùn)維)理念的體現(xiàn),DevOps 要求開發(fā)人員必須關(guān)注運(yùn)維需求,監(jiān)控埋點(diǎn)是一種生產(chǎn)級運(yùn)維需求。

        Metrics 監(jiān)控產(chǎn)品底層依賴于時間序列數(shù)據(jù)庫(TSDB),最近比較熱的開源產(chǎn)品有 Prometheus 和 InfluxDB,社區(qū)用戶數(shù)量和反饋都不錯,可以采納。但是這些產(chǎn)品分布式能力比較弱,定制擴(kuò)展門檻比較高,一般建議剛起步量不大的公司采用。

        如果企業(yè)業(yè)務(wù)和團(tuán)隊(duì)規(guī)模發(fā)展到一定階段,建議考慮支持分布式能力的時間序列監(jiān)控產(chǎn)品,例如 KairosDB 或者 OpenTSDB,我本人對這兩款產(chǎn)品都有一些實(shí)踐經(jīng)驗(yàn),KariosDB 基于 Cassandra,相對更輕量一點(diǎn),建議中大規(guī)模公司采用,如果你們公司已經(jīng)采用 Hadoop/HBase,則 OpenTSDB 也是不錯選擇。

        KairosDB 一般也和 Kafka 配套使用,Kafka 作為前置緩沖。另外注意使用 KariosDB 打點(diǎn)的話 tag 的值不能太離散,否則會有查詢性能問題,這個和 KariosDB 底層存儲結(jié)構(gòu)有關(guān)系。Grafana 是 Metrics 展示標(biāo)配,可以和 KariosDB 無縫集成。

        Grafana 是 Metrics 展示標(biāo)配,和主流時間序列數(shù)據(jù)庫都可以集成

        健康檢查和告警 ZMon

        除了上述監(jiān)控手段,我們?nèi)孕枰】禉z查和告警系統(tǒng)作為配套的監(jiān)控手段。ZMon 是德國電商公司 Zalando 開源的一款健康檢查和告警平臺,具備強(qiáng)大靈活的監(jiān)控告警能力。ZMon 本質(zhì)上可以認(rèn)為是一套分布式監(jiān)控任務(wù)調(diào)度平臺,它提供眾多的 Check 腳本(也可以自己再定制擴(kuò)展),能夠?qū)Ω鞣N硬件資源或者目標(biāo)服務(wù)(例如 HTTP 端口,Spring 的 Actuator 端點(diǎn),KariosDB 中的 Metrics,ELK 中的錯誤日志等等)進(jìn)行定期的健康檢查和告警,它的告警邏輯和策略采用 Python 腳本實(shí)現(xiàn),開發(fā)人員可以實(shí)現(xiàn)自助式告警。ZMon 同時適用于系統(tǒng),應(yīng)用,業(yè)務(wù),甚至端用戶體驗(yàn)層的監(jiān)控和告警。

        ZMon 分布式監(jiān)控告警系統(tǒng)架構(gòu),底層基于 KairosDB 時間序列數(shù)據(jù)庫

        限流熔斷和流聚合 Hystrix+Turbine

        2010 年左右,Netflix 也飽受分布式微服務(wù)系統(tǒng)中雪崩效應(yīng)(Cascading Failure)的困擾,于是專門啟動了一個叫做彈性工程的項(xiàng)目來解決這個問題,Hystrix 就是彈性工程最終落地下來的一個產(chǎn)品。Hystrix 在 Netflix 微服務(wù)系統(tǒng)中大規(guī)模推廣應(yīng)用后,雪崩效應(yīng)問題基本得到解決,整個體統(tǒng)更具彈性。

        之后 Netflix 把 Hystrix 開源貢獻(xiàn)給了社區(qū),短期獲得社區(qū)的大量正面反饋,目前 Hystrix 在 github 上有超過 1.3 萬顆星,據(jù)說支持奧巴馬總統(tǒng)選舉的系統(tǒng)也曾使用 Hystrix 進(jìn)行限流熔斷保護(hù) [參考附錄 2],可見限流熔斷是分布式系統(tǒng)穩(wěn)定性的強(qiáng)需求,Netflix 很好的抓住了這個需求并給出了經(jīng)過生產(chǎn)級驗(yàn)證的解決方案。Hystrix 已經(jīng)被納入 Spring Cloud 體系,它是 Java 社區(qū)中限流熔斷組件的首選(目前還看不到第二個更好的產(chǎn)品)。

        Turbine 是和 Hystrix 配套的一個流聚合服務(wù),能夠?qū)?Hystrix 監(jiān)控數(shù)據(jù)流進(jìn)行聚合,聚合以后可以在 Hystrix Dashboard 上看到集群的流量和性能情況。

        Hystrix 在英文中是豪豬獸的意思,豪豬獸通過身上的刺保護(hù)自己,Netflix 為限流熔斷組件起名 Hystrix,寓意 Hystrix 能夠保護(hù)微服務(wù)調(diào)用。

        往期推薦

        微信掃碼登錄很難嗎?5步幫你搞定

        12 個非常適合做外包項(xiàng)目的開源后臺管理系統(tǒng)

        從零開始搭建一個通用的業(yè)務(wù)技術(shù)架構(gòu),這套架構(gòu)絕了!

        基于 Spring Cloud +OAuth2 的權(quán)限管理系統(tǒng),可二次開發(fā)接私活和企業(yè)使用!

        這樣優(yōu)化后的 Spring Boot 項(xiàng)目,速度快的飛起來了。


        瀏覽 41
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产伦精品一区二区三区… | asian成熟丰满mature | 性在线| 亚洲社区在线 | 美女插逼视频 | 黄色的网站免费看 | 草逼操 | 成人做爱视频在线观看免费版网站 | 精品国产a∨一区天美传媒 | 91亚洲国产成人精品一区二三 |