成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

SpringCloud打造微服務平臺--概覽

siberiawolf / 2430人閱讀

摘要:授權(quán)框架使第三方應用程序來獲取對服務的有限訪問機會。無論是通過編排資源所有者和服務之間的交互批準的資源所有者,或通過允許第三方應用程序來獲取自己的訪問權(quán)限。

SpringCloud打造微服務平臺--概覽 簡述 SpringCloud是什么 Spring Boot和SpringCloud是什么關(guān)系

Spring Boot是Spring的一套快速WEB開發(fā)的腳手架,可建立獨立的Spring應用程序,無代碼生成和xml配置、自動配置Spring、內(nèi)嵌Servlet容器。Spring Boot使用了默認大于配置的理念,很多集成方案已經(jīng)幫你選擇好了,能不配置就不配置。可以基于Spring Boot快速開發(fā)單個微服務。

Spring Cloud是一個基于Spring Boot實現(xiàn)的云應用開發(fā)工具。Spring Cloud很大的一部分是基于Spring Boot來實現(xiàn)。Spring Boot專注于快速、方便集成的單個個體,Spring Cloud是關(guān)注全局的服務治理框架;

spring -> spring booot -> spring cloud 這樣的關(guān)系。

官網(wǎng)

SpringCloud架構(gòu)

組件概覽

組件簡介

注冊中心:

spring-cloud-eureka

spring-cloud-zookeeper

spring-cloud-consul

配置中心:

spring-cloud-config

服務容錯:

spring-cloud-netflix-hystrix

API網(wǎng)關(guān):

spring-cloud-gateway

spring-cloud-netfilx-zuul

服務調(diào)用:

spring-cloud-openfeign

spring-cloud-netflix-ribbon

消息隊列:

spring-cloud-stream --> rabbitmq、kafka

spring-cloud-bus

鏈路跟蹤:

spring-cloud-sletuh --> zipkin server

任務調(diào)度:

spring-cloud-task

安全認證:

spring-cloud-security

spring-cloud-vault

測試管理:

spring-cloud-contract

組件介紹 注冊中心 Why?

微服務架構(gòu)中,應用被拆分眾多的小應用服務,應該規(guī)模變大,服務實例的數(shù)量是動態(tài)變化,為了為客戶端能夠訪問到服務,就必須要有一種服務的發(fā)現(xiàn)機制,完成服務的登記注冊、監(jiān)控管理、服務發(fā)現(xiàn),服務間的調(diào)用管理等功能。

What?

有兩種主要的服務發(fā)現(xiàn)方式:客戶端發(fā)現(xiàn)(client-side discovery)和服務器端發(fā)現(xiàn)(server-side discovery)。Eureka是客戶端發(fā)現(xiàn)模式。

Spring Cloud Eureka由兩個組件組成:Eureka服務器和Eureka客戶端。

Eureka Client連接到Eureka Server,并維持心跳連接。這樣系統(tǒng)的維護人員就可以通過 Eureka Server 來監(jiān)控系統(tǒng)中各個微服務是否正常運行?;镜慕Y(jié)構(gòu)如下圖。

另外Eurekag還提供了web的管理界面,運維人員可以查看各微服務的情況

配置中心 Why?

在微服務架構(gòu)中,每個微服務節(jié)點都有相關(guān)的配置數(shù)據(jù)項。當節(jié)點眾多,維護就變得非常困難,因此需要建立一個中心配置服務,所有配置都放在配置中心統(tǒng)一管理。

What?

Spring Cloud Config由兩個組件組成:Config服務器和Config客戶端。應用啟動時,將相關(guān)配置項拉取到本地緩存使用,配置更新時也可由配置中心主動推送到應用節(jié)點(后續(xù)會詳細講解)。他支持git、svn、file方式存儲配置。

消息中心 Why?

消息總線是為了實現(xiàn)企業(yè)應該數(shù)據(jù)共享和集成,提供一種基于企業(yè)服務總線的信息共享交換平臺。具有松散耦合的特點,實現(xiàn)了"集中式管理、分布式運行"的工作模式。

在微服務架構(gòu)中,服務眾多,各服務又有很多的調(diào)用和被調(diào)用關(guān)系。消息總線就是為了解決在某些非同步場景下,服務間強解藕、數(shù)據(jù)交換量巨大的解決方案。

What?

Spring Cloud Bus 將分布式的節(jié)點用輕量的消息代理連接起來。它可以用于廣播配置文件的更改或者服務之間的異步通訊,也可以用于監(jiān)控??梢哉f,消息總線是微服務應用擴展“道路”上的推進器,而且也把它用來作應用間相互通信的消息管道。

服務網(wǎng)關(guān) Why?

在微服務架構(gòu)中,后端服務往往不直接開放給調(diào)用端,而是通過一個API網(wǎng)關(guān)根據(jù)請求的url,路由到相應的服務。當添加API網(wǎng)關(guān)后,在第三方調(diào)用端和服務提供方之間就創(chuàng)建了一面墻,這面墻直接與調(diào)用方通信進行權(quán)限控制、限流、排隊,過載保護、請求合并、裁剪、黑白名單、異常用戶過濾攔截等等。

What?

Spring Cloud Gateway是一個構(gòu)建在Spring 生態(tài)之上的高性能、非阻塞API網(wǎng)關(guān),包括:Spring 5,Spring Boot 2和Project Reactor。

服務調(diào)用 Why?

負載均衡可分為服務端負載均衡和客戶端負載均衡,服務端負載均衡完全由服務器處理,客戶端不需要做任何事情。而客戶端負載均衡技術(shù),客戶端需要維護一組服務器引用,每次客戶端向服務端發(fā)請求的時候,會根據(jù)算法主動選中一個服務節(jié)點。常用的負載均衡算法有:隨機、輪詢、權(quán)重、負載、Hash等。

What?

Spring Cloud Ribbon是一個基于客戶端的負載均衡器,F(xiàn)eign內(nèi)部也已經(jīng)使用了Ribbon。

Spring Cloud Feign是一個聲明式的Web Service客戶端,它的目的就是讓Web Service調(diào)用更加簡單。Feign提供了HTTP請求的模板,通過編寫簡單的接口和插入注解,就可以定義好HTTP請求的參數(shù)、格式、地址等信息。而Feign則會完全代理HTTP請求,我們只需要像調(diào)用方法一樣調(diào)用它就可以完成服務請求及相關(guān)處理。

Feign整合了Ribbon和Hystrix(見下節(jié)),可以讓我們不再需要顯式地使用這兩個組件,大大簡化了服務調(diào)用。

服務容錯 Why?

在分布式架構(gòu)中,一個應用依賴多個服務是非常常見的,如果其中一個依賴由于延遲過高發(fā)生阻塞,調(diào)用該依賴服務的線程就會阻塞,如果相關(guān)業(yè)務的QPS較高,就可能產(chǎn)生大量阻塞,從而導致該應用/服務由于服務器資源被耗盡而拖垮。

另外,故障也會在應用之間傳遞,如果故障服務的上游依賴較多,可能會引起服務的雪崩效應。就跟數(shù)據(jù)癱瘓,會引起依賴該數(shù)據(jù)庫的應用癱瘓是一樣的道理。

所以,斷路器就是用來支持服務隔離、熔斷等操作的工具。斷路器會以隔離的方式來處理服務請求,當斷路數(shù)量達到閾值,就會觸發(fā)熔斷(直接返回失?。?。

What?

Spring Cloud Hystrix微服務架構(gòu)中提供服務隔離、熔斷、降級機制的工具/框架。通過以上手段來降低服務故障帶來的關(guān)聯(lián)影響,以提高系統(tǒng)的整體可用性。

斷路器與各服務的關(guān)系

斷路器的原理

授權(quán)與認證 Why?

在 Web 應用開發(fā)中,安全一直是非常重要的一個方面。安全雖然屬于應用的非功能性需求,但是應該在應用開發(fā)的初期就考慮進來。如果在應用開發(fā)的后期才考慮安全的問題,就可能陷入一個兩難的境地:一方面,應用存在嚴重的安全漏洞,無法滿足用戶的要求,并可能造成用戶的隱私數(shù)據(jù)被攻擊者竊??;另一方面,應用的基本架構(gòu)已經(jīng)確定,要修復安全漏洞,可能需要對系統(tǒng)的架構(gòu)做出比較重大的調(diào)整,因而需要更多的開發(fā)時間,影響應用的發(fā)布進程。因此,從應用開發(fā)的第一天就應該把安全相關(guān)的因素考慮進來,并在整個應用的開發(fā)過程中。

What?

Spring Cloud Security是基于Spring的企業(yè)應用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。它提供全面的安全性解決方案,同時在Web請求級和方法調(diào)用級處理身份確認和授權(quán)。他是靈活和強大的身份驗證和訪問控制框架,以確保基于Spring的Java Web應用程序的安全。

OAuth2.0授權(quán)框架使第三方應用程序來獲取對HTTP服務的有限訪問機會。無論是通過編排資源所有者和HTTP服務之間的交互批準的資源所有者,或通過允許第三方應用程序來獲取自己的訪問權(quán)限。

例如某網(wǎng)站/app以微信、qq登陸方式就是OAuth2方式。

Spring Security Oauth2是建立在spring security的基礎(chǔ)之上,符合OAuth2標準的開源實現(xiàn)。

OAuth2定義了4種模式,共有4個角色,具體內(nèi)容可以查看另外的介紹

Spring Security OAuth2簡介與實施

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/11906.html

相關(guān)文章

  • 架構(gòu)~服務 - 收藏集 - 掘金

    摘要:它就是史上最簡單的教程第三篇服務消費者后端掘金上一篇文章,講述了通過去消費服務,這篇文章主要講述通過去消費服務。概覽和架構(gòu)設計掘金技術(shù)征文后端掘金是基于的一整套實現(xiàn)微服務的框架。 Spring Boot 配置文件 – 在坑中實踐 - 后端 - 掘金作者:泥瓦匠鏈接:Spring Boot 配置文件 – 在坑中實踐版權(quán)歸作者所有,轉(zhuǎn)載請注明出處本文提綱一、自動配置二、自定義屬性三、ran...

    church 評論0 收藏0
  • 架構(gòu)~服務

    摘要:接下來繼續(xù)介紹三種架構(gòu)模式,分別是查詢分離模式微服務模式多級緩存模式。分布式應用程序可以基于實現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負載均衡命名服務分布式協(xié)調(diào)通知集群管理選舉分布式鎖和分布式隊列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡單的 SpringCloud 教程 | 第九篇: 服務鏈路追蹤 (Spring Cloud Sleuth) 史上最簡單的 S...

    xinhaip 評論0 收藏0
  • 云架構(gòu)&設計思想之SpringCloud+ Spring Boot + Mybati

    摘要:使用進行項目的構(gòu)建管理,采用進行持續(xù)集成,主要定位于大型分布式企業(yè)系統(tǒng)或大型分布式互聯(lián)網(wǎng)產(chǎn)品的架構(gòu)。使用防腳本注入跨站點腳本編制偽造請求攻擊等常見的攻擊手段。 ??鴻鵠云架構(gòu)系統(tǒng)管理平臺是一個大型企業(yè)、分布式、微服務、云架構(gòu)的JavaEE體系快速研發(fā)平臺,基于模塊化、微服務化、原子化、熱部署...

    willin 評論0 收藏0

發(fā)表評論

0條評論

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