成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SpringCloud Alibaba體系一覽

開發(fā) 架構
從Spring Cloud 2020版本開始,Spring Cloud移除了 Ribbon,使用Spring Cloud Loadbalancer作為客戶端的負載均衡組件。其使用方式與Ribbon基本兼容,可以從Ribbon進行平滑過渡。

Spring Cloud Alibaba 致力于提供微服務開發(fā)的一站式解決方案。包含開發(fā)分布式應用微服務的必需組件,方便開發(fā)者通過 Spring Cloud 編程模型輕松使用這些組件來開發(fā)分布式應用服務。本文基于官方文檔,對整個體系做了整體梳理。

SpringCloud Alibaba體系一覽

注冊中心-Nacos

Nacos(Dynamic Naming and Configuration Service):一個更易于構建云原生應用的動態(tài)服務發(fā)現(xiàn)、配置管理和服務管理平臺。

Nacos就是注冊中心+配置中心的組合 --> 等價于 Nacos = Eureka+Config +Bus

注冊中心對比

CAP原則:Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區(qū)容錯性)。分布式系統(tǒng)要么滿足CA,要么CP,要么AP。無法同時滿足CAP。

Nacos支持AP和CP切換。何時選擇使用何種模式?

  • 如果不需要存儲服務級別的信息且服務實例是通過nacos-chient注冊,并能夠保持心跳上報,那么就可以選擇AP模式。 當前主流的服務如Spring cloud 和 Dubbo 服務,都適用于AP模式。 AP模式為了服務的可能性而減弱了一致性,因此AP模式下只支持注冊臨時實例。
  • 如果需要在服務級別編輯或者存儲配置信息,那么CP是必須。K8S服務和DNS服務則適用于CP模式。 CP模式下則支持注冊持久化實例,此時則是以 Raft協(xié)議為集群運行模式,該模式下注冊實例之前必須先注冊服務,如果服務不存在,則會返回錯識。

服務調(diào)用-OpenFeign

(1)Feign

Feign是Spring Cloud組件中的一個輕量級RESTful的HTTP服務客戶端

Feign內(nèi)置了Ribbon,用來做客戶端負載均衡,去調(diào)用服務注冊中心的服務。 Feign的使用方式是:使用Feign的注解定義接口,調(diào)用這個接口,就可以調(diào)用服務注冊中心的服務

依賴:
spring-cloud-starter-feign

(2)OpenFeign

OpenFeign是Spring Cloud在Feign的基礎上支持了SpringMVC的注解,如@RequesMapping等等。

OpenFeign的@Feignclient可以解析SpringMvc的@RequestMapping注解下的接口,并通過動態(tài)代理的方式產(chǎn)生實現(xiàn)類,實現(xiàn)類中做負載均衡并調(diào)用其他服務。

依賴:
spring-cloud-starter-openfeign

負載均衡-LoadBalancer

從Spring Cloud 2020版本開始,Spring Cloud移除了 Ribbon,使用Spring Cloud Loadbalancer作為客戶端的負載均衡組件。其使用方式與Ribbon基本兼容,可以從Ribbon進行平滑過渡。

兩種負載均衡的客戶端:

(1)RestTemplate

RestTemplate是Spring提供的用于訪問Rest服務的客戶端,RestTemplate提供了多種便捷訪問遠程Http服務的方法,能夠大大提高客戶端的編寫效率。默認情況下,RestTemplate默認依賴jdk的HTTP連接工具。

(2)WebClient

WebClient是從Spring WebFlux 5.0版本開始提供的一個非阻塞的基于響應式編程的進行Http請求的客戶端工具。它的響應式編程的基于Reactor的。WebClient中提供了標準Http請求方式對應的get、post、put、delete等方法,可以用來發(fā)起相應的請求

以RestTemplate配置LoadBalaced為例,二者對比:

  • 都是使用LoadBalancerInterceptor作為RestTemplate的攔截器。
  • 在LoadBalancerInterceptor中持有LoadBalancerClient對象,在Spring Cloud LoadBalancer中是BlockingLoadBalancerClient,在Spring Cloud Ribbon中是RibbonLoadBalancerClient。
  • LoadBalancerClient中持有NamedContextFactory對象,在Spring Cloud LoadBalancer中是LoadBalancerClientFactory,在Spring Cloud Ribbon中是SpringClientFactory。
  • Spring Cloud LoadBalancer通過實現(xiàn)ReactorServiceInstanceLoadBalancer接口自定義負載均衡器,Spring Cloud Ribbon通過實現(xiàn)ILoadBalancer接口。
  • Spring Cloud LoadBalancer通過注解@LoadBalancerClient或@LoadBalancerClients實現(xiàn)自定義配置,Spring Cloud Ribbon也可以使用這兩個注解,另外還可以使用@RibbonClient或@RibbonClients。
  • Spring Cloud LoadBalancer支持響應式編程負載均衡,即結合Spring Web Flux使用,Spring Cloud Ribbon是不支持的。
  • 目前Ribbon提供的負載均衡算法實現(xiàn)較Spring Cloud LoadBalancer更豐富。

微服務網(wǎng)關-Gateway

Gateway是在Spring生態(tài)系統(tǒng)之上構建的API網(wǎng)關服務,基于Spring 5,Spring Boot 2和Project Reactor等技術。Gateway旨在提供一種簡單而有效的方式來對API進行路由,以及提供一些強大的過濾器功能,例如:熔斷、限流、重試等。

Spring Cloud Gateway是Spring Cloud的一個全新項目,基于Spring 5.0+Spring Boot 2.0和 Project Reactor等技術開發(fā)的網(wǎng)關,它旨在為微服務架構提供─種簡單有效的統(tǒng)一的API路由管理方式。

SpringCloud Gateway作為 Spring Cloud 生態(tài)系統(tǒng)中的網(wǎng)關,目標是替代Zuul,在Spring Cloud 2.0以上版本中,沒有對新版本的Zuul 2.0以上最新高性能版本進行集成,仍然還是使用的Zuul 1.x非Reactor模式的老版本。而為了提升網(wǎng)關的性能,SpringCloud Gateway是基于WebFlux框架實現(xiàn)的,而WebFlux框架底層則使用了高性能的Reactor模式通信框架Netty。

Spring Cloud Gateway的目標提供統(tǒng)一的路由方式且基于Filter鏈的方式提供了網(wǎng)關基本的功能,例如:安全,監(jiān)控/指標,和限流。

SpringCloud Gateway使用的Webflux中的reactor-netty響應式編程組件,底層使用了Netty通訊框架。

微服務限流-Sentinel

Sentinel 以流量為切入點,從流量控制、熔斷降級、系統(tǒng)負載保護等多個維度保護服務的穩(wěn)定性。

Sentinel 具有以下特征:

  • 豐富的應用場景:Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發(fā)流量控制在系統(tǒng)容量可以承受的范圍)、消息削峰填谷、集群流量控制、實時熔斷下游不可用應用等。
  • 完備的實時監(jiān)控:Sentinel 同時提供實時的監(jiān)控功能。您可以在控制臺中看到接入應用的單臺機器秒級數(shù)據(jù),甚至 500 臺以下規(guī)模的集群的匯總運行情況。
  • 廣泛的開源生態(tài):Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Apache Dubbo、gRPC、Quarkus 的整合。您只需要引入相應的依賴并進行簡單的配置即可快速地接入 Sentinel。同時 Sentinel 提供 Java/Go/C++ 等多語言的原生實現(xiàn)。
  • 完善的 SPI 擴展機制:Sentinel 提供簡單易用、完善的 SPI 擴展接口。您可以通過實現(xiàn)擴展接口來快速地定制邏輯。例如定制規(guī)則管理、適配動態(tài)數(shù)據(jù)源等。

Sentinel 的主要特性

分布式事務-seata

Seata 是一款開源的分布式事務解決方案,致力于提供高性能和簡單易用的分布式事務服務。Seata 將為用戶提供了 AT、TCC、SAGA 和 XA 事務模式,為用戶打造一站式的分布式解決方案。

一個典型的分布式事務過程:

分布式事務處理過程可以概括為:1 ID + 3組件模型

Transaction lD XID :

  • 全局唯一的事務ID

三組件概念 (opens new window)

  • Transaction Coordinator (TC):事務協(xié)調(diào)器,維護全局事務的運行狀態(tài),負責協(xié)調(diào)并驅(qū)動全局事務的提交或回滾;
  • Transaction Manager (TM):控制全局事務的邊界,負責開啟一個全局事務,并最終發(fā)起全局提交或全局回滾的決議;
  • Resource Manager (RM):控制分支事務,負責分支注冊、狀態(tài)匯報,并接收事務協(xié)調(diào)器的指令,驅(qū)動分支(本地)事務的提交和回滾

處理過程:

  • TM 向 TC 申請開啟一個全局事務,全局事務創(chuàng)建成功并生成一個全局唯一的XID;
  • XID 在微服務調(diào)用鏈路的上下文中傳播;
  • RM 向 TC 注冊分支事務,將其納入XID對應全局事務的管轄;
  • TM 向 TC 發(fā)起針對XID的全局提交或回滾決議;
  • TC 調(diào)度 XID 下管轄的全部分支事務完成提交或回滾請求。

分布式鏈路追蹤-Skywalking

SkyWalking是一個開源APM系統(tǒng),包含了云原生架構下的分布式系統(tǒng)的監(jiān)控、跟蹤、診斷功能。

SkyWalking支持dubbo,SpringCloud,SpringBoot集成,代碼無侵入,通信方式采用GRPC,性能較好,實現(xiàn)方式是java探針,支持告警,支持JVM監(jiān)控,支持全局調(diào)用統(tǒng)計等等,功能較完善。

Skywalking架構

  • 上面的Agent:負責收集日志數(shù)據(jù),并且傳遞給中間的OAP服務器
  • 中間的OAP:負責接收 Agent 發(fā)送的 Tracing 和Metric的數(shù)據(jù)信息,然后進行分析(Analysis Core) ,存儲到外部存儲器( Storage ),最終提供查詢( Query )功能。
  • 左面的UI:負責提供web控制臺,查看鏈路,查看各種指標,性能等等。
  • 右面Storage:負責數(shù)據(jù)的存儲,支持多種存儲類型。

大致流程就是Agent負責收集日志傳輸數(shù)據(jù),通過GRPC的方式傳遞給OAP進行分析并且存儲到數(shù)據(jù)庫中,最終通過UI界面將分析的統(tǒng)計報表、服務依賴、拓撲關系圖展示出來。

附錄

組件版本關系

責任編輯:姜華 來源: 今日頭條
相關推薦

2010-11-15 09:55:35

Oracle轉(zhuǎn)換函數(shù)

2011-01-11 09:53:28

linux進程

2011-01-11 10:06:14

linux進程

2021-06-08 09:47:44

Java面向對象

2019-04-26 14:21:34

手機色彩蘋果

2010-10-14 16:55:00

MySQL聯(lián)結查詢

2017-03-06 16:34:12

虛擬個人助理

2009-03-03 20:44:06

桌面虛擬化Xendesktop虛擬化

2020-02-17 15:29:00

石墨文檔

2009-07-09 17:40:26

Java運算符

2009-09-28 10:58:31

Google新搜索特性

2011-05-26 10:27:37

Fedora 15

2013-10-18 14:23:21

Ubuntu 13.1Kbuntu 13.1

2010-09-14 13:13:12

sql server備

2017-04-25 17:29:24

2012-02-20 09:06:20

JVM

2024-02-05 14:18:07

自然語言處理

2010-10-21 15:40:05

SQL Server服

2017-09-06 08:12:43

OpenStack功能模塊

2016-11-09 09:45:07

大數(shù)據(jù)工程師體系
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕免费 | 日韩中文字幕 | 午夜视频在线观看网址 | 精品欧美一区免费观看α√ | 欧美日韩亚洲一区 | 欧美99 | 亚洲视频免费在线 | 中文字幕一级 | 欧美亚洲一区二区三区 | 天堂久久av | 精品在线播放 | 色就干 | 亚洲毛片在线观看 | 99久久国产免费 | 在线观看成人 | 999久久精品 | 黄色精品 | 精品久久电影 | 亚洲中午字幕 | 国产精品电影在线观看 | 欧美日韩三级 | 日韩精品一区二区三区久久 | 国产一区二区三区日韩 | 在线a视频| 在线免费中文字幕 | 国产91久久精品一区二区 | a久久| 国产精品www | 成人超碰 | 亚洲精品9999 | 午夜久久久久久久久久一区二区 | 日韩午夜| 亚洲高清在线 | 成人免费在线 | 国产精品夜夜春夜夜爽久久电影 | 色橹橹欧美在线观看视频高清 | 久久av一区二区三区 | 欧美精品一区二区三区在线 | 欧美一级电影免费观看 | 国产日韩精品在线 | 久久久影院 |