日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析

發(fā)布時(shí)間:2025/3/17 javascript 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、基礎(chǔ)組件總結(jié)

1、文章閱讀目錄

1)、基礎(chǔ)組件

Eureka組件,服務(wù)注冊(cè)與發(fā)現(xiàn)

Ribbon和Feign組件,實(shí)現(xiàn)負(fù)載均衡

Hystrix組件,實(shí)現(xiàn)服務(wù)熔斷

Turbine組件,實(shí)現(xiàn)微服務(wù)集群監(jiān)控

Zuul組件,實(shí)現(xiàn)路由網(wǎng)關(guān)控制

Config組件,實(shí)現(xiàn)配置統(tǒng)一管理

Zipkin組件,實(shí)現(xiàn)請(qǐng)求鏈路追蹤

2)、應(yīng)用案例

基于Shard-Jdbc分庫(kù)分表,數(shù)據(jù)庫(kù)擴(kuò)容方案

基于SpringCloud實(shí)現(xiàn)Shard-Jdbc的分庫(kù)分表擴(kuò)容

3)、后續(xù)更新

該案例主要基于SpringCloud2版本,演示微服務(wù)在實(shí)際開(kāi)發(fā)中的應(yīng)用。

<modules><!-- 客戶端接口層 --><module>storey-client-web</module><!-- 公共代碼塊層 --><module>storey-block-code</module><!-- 中間件管理層 --><module>storey-middle-soft</module><!-- 數(shù)據(jù) 中 心層 --><module>storey-data-center</module><!-- 微服務(wù)組件層 --><module>storey-cloud-ware</module> </modules>

采用版本

  • Spring: 5.0+
  • SpringBoot: 2.0+
  • SpringCloud: 2.0+

2、常用組件概念

  • Eureka組件

Eureka是一種基于REST的服務(wù),主要用于AWS云,用于定位服務(wù),以實(shí)現(xiàn)中間層服務(wù)器的負(fù)載平衡和故障轉(zhuǎn)移。此服務(wù)稱為EurekaServer。客戶端組件EurekaClient,它使與服務(wù)的交互變得更加容易。

  • Ribbon和Feign組件

Ribbon是一個(gè)客戶端的負(fù)載均衡(Load Balancer,簡(jiǎn)稱LB)器,它提供對(duì)大量的HTTP和TCP客戶端的訪問(wèn)控制。

Feign 是一個(gè)聲明式的 Web Service 客戶端。它的出現(xiàn)使開(kāi)發(fā) Web Service 客戶端變得很簡(jiǎn)單。使用 Feign 只需要?jiǎng)?chuàng)建一個(gè)接口加上對(duì)應(yīng)的注解,比如:@FeignClient 接口類注解。

  • Hystrix組件

微服務(wù)架構(gòu)中某個(gè)微服務(wù)發(fā)生故障時(shí),要快速切斷服務(wù),提示用戶,后續(xù)請(qǐng)求,不調(diào)用該服務(wù),直接返回,釋放資源,這就是服務(wù)熔斷。

  • Turbine組件

微服務(wù)架構(gòu)中為了保證程序的可用性,防止程序出錯(cuò)導(dǎo)致網(wǎng)絡(luò)阻塞,出現(xiàn)了斷路器模型。斷路器的狀況反應(yīng)程序的可用性和健壯性,它是一個(gè)重要指標(biāo)。HystrixDashboard是作為斷路器狀態(tài)的一個(gè)組件,提供了數(shù)據(jù)監(jiān)控和直觀的圖形化界面。

  • Zuul組件

Zuul 網(wǎng)關(guān)主要提供動(dòng)態(tài)路由,監(jiān)控,彈性,安全管控等功能。在分布式的微服務(wù)系統(tǒng)中,系統(tǒng)被拆為了多個(gè)微服務(wù)模塊,通過(guò)zuul網(wǎng)關(guān)對(duì)用戶的請(qǐng)求進(jìn)行路由,轉(zhuǎn)發(fā)到具體的后微服務(wù)模塊中。

  • Config組件

在微服務(wù)系統(tǒng)中,服務(wù)較多,相同的配置:如數(shù)據(jù)庫(kù)信息、緩存、參數(shù)等,會(huì)出現(xiàn)在不同的服務(wù)上,如果一個(gè)配置發(fā)生變化,需要修改很多的服務(wù)配置。spring cloud提供配置中心,來(lái)解決這個(gè)場(chǎng)景問(wèn)題。

  • Zipkin組件

Zipkin是SpringCloud微服務(wù)系統(tǒng)中的一個(gè)組件,實(shí)現(xiàn)了鏈路追蹤解決方案。可以定位一個(gè)請(qǐng)求到底請(qǐng)求了哪些具體的服務(wù)。在復(fù)雜的微服務(wù)系統(tǒng)中,如果請(qǐng)求發(fā)生了異常,可以快速捕獲問(wèn)題所在的服務(wù)。

二、Boot 對(duì)比Cloud

SpringBoot專注于快速開(kāi)發(fā)單個(gè)微服務(wù)。SpringCloud是關(guān)注全局的微服務(wù)協(xié)調(diào)框架,它將SpringBoot開(kāi)發(fā)的單個(gè)微服務(wù)整合管理,并為微服務(wù)之間提供,配置管理、服務(wù)發(fā)現(xiàn)、斷路器、路由網(wǎng)關(guān)等集成服務(wù),SpringCloud依賴SpringBoot。

三、Dubbo對(duì)比Cloud

1、調(diào)用方式對(duì)比

服務(wù)調(diào)用方式是 Dubbo 和 Spring Cloud 重要不同點(diǎn),熟悉RPC/HTTP/REST概念,有助對(duì)比 Dubbo 和SpringCloud。RPC 是遠(yuǎn)端過(guò)程調(diào)用,其調(diào)用協(xié)議通常包含傳輸協(xié)議和編碼協(xié)議。RPC調(diào)用是面向服務(wù)的封裝,針對(duì)服務(wù)的可用性和效率等都做了優(yōu)化。http是超文本傳輸協(xié)議,RPC 也可以用http作為傳輸協(xié)議,但一般是用 tcp作為傳輸協(xié)議。

2、執(zhí)行性能對(duì)比

Dubbo 采用單一長(zhǎng)連接和NIO異步通訊(保持連接/輪詢處理),使用自定義報(bào)文的TCP協(xié)議,并且序列化使用定制Hessian2框架,適合于小數(shù)據(jù)量大并發(fā)的服務(wù)調(diào)用,以及服務(wù)消費(fèi)者機(jī)器數(shù)遠(yuǎn)大于服務(wù)提供者機(jī)器數(shù)的情況,但不適用于傳輸大數(shù)據(jù)的服務(wù)調(diào)用。Spring Cloud 直接使用 HTTP 協(xié)議,在性能上弱于Dubbo。

3、注冊(cè)中心對(duì)比

這里通常指ZooKeeper(Dubbo注冊(cè)中心)和Eureka(Cloud注冊(cè)中心)的對(duì)比。分布式領(lǐng)域著名的CAP理論(C:數(shù)據(jù)一致性,A:服務(wù)可用性,P:分區(qū)故障的容錯(cuò)性),Zookeeper保證的是CP,但對(duì)于服務(wù)發(fā)現(xiàn)而言,可用性比數(shù)據(jù)一致性更加重要,AP勝過(guò)CP,而 Eureka 設(shè)計(jì)則遵循 AP 原則。

4、框架生態(tài)對(duì)比

Dubbo 專注 RPC 和服務(wù)治理,Spring Cloud 則是一個(gè)微服務(wù)架構(gòu)生態(tài)。

四、源代碼地址

GitHub地址:知了一笑 https://github.com/cicadasmile/spring-cloud-base GitEE地址:知了一笑 https://gitee.com/cicadasmile/spring-cloud-base

總結(jié)

以上是生活随笔為你收集整理的SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。