今天和大家聊一下微服務(wù)網(wǎng)關(guān) Spring Cloud Gateway秦爆。Spring Cloud Gateway 是 Spring Cloud 的一個全新項目垛贤,該項目是基于Spring 5.0妖混、Spring Boot 2.0 和Project Reactor 等組件技術(shù)少漆,Spring Cloud Gateway的性能和功能表現(xiàn)都很優(yōu)異厅须。
筆者去年也寫了幾篇關(guān)于Spring Cloud Gateway的文章侧馅。從當(dāng)時最先基于v2.0.0.M8
危尿,之后體驗了RC版本,然后是v2.0.0.RELEASE
馁痴,也曾擼過一遍源碼脚线,對網(wǎng)關(guān)的原理與實現(xiàn)還是比較熟悉的。最近抽空看了看最新的版本v2.1.0.RELEASE
弥搞,在功能上有一些迭代邮绿,功能愈加完善。這次特地分享Spring Cloud Gateway的應(yīng)用實戰(zhàn)攀例。本次分享基于的Spring Cloud Gateway版本為v2.0.2.RELEASE
船逮,對應(yīng)的Spring Cloud的版本為Greenwich.RELEASE
。
chat內(nèi)容簡介
微服務(wù)最早是由Martin Fowler與James Lewis于2014年共同提出粤铭。時至今日挖胃,微服務(wù)架構(gòu)已經(jīng)成為了主流的架構(gòu)模式。微服務(wù)架構(gòu)風(fēng)格是一種使用一系列粒度較小的服務(wù)來開發(fā)單個應(yīng)用的方式 梆惯。
當(dāng)使用單體應(yīng)用程序架構(gòu)時酱鸭,客戶端(web和移動端)通過向后端應(yīng)用程序發(fā)起一次REST調(diào)用來獲取數(shù)據(jù)。負(fù)載均衡器將請求路由給N個相同的應(yīng)用程序?qū)嵗械囊粋€垛吗。然后應(yīng)用程序會查詢各種數(shù)據(jù)庫表凹髓,并將響應(yīng)返回給客戶端。微服務(wù)架構(gòu)下怯屉,單體應(yīng)用被切割成多個微服務(wù)蔚舀,如果將所有的微服務(wù)直接對外暴露饵沧,勢必會出現(xiàn)安全方面的各種問題。
在微服務(wù)架構(gòu)中赌躺,API網(wǎng)關(guān)是一個服務(wù)狼牺,是系統(tǒng)的唯一入口。從面向?qū)ο笤O(shè)計的角度看礼患,它與外觀模式類似是钥。API網(wǎng)關(guān)封裝了系統(tǒng)內(nèi)部架構(gòu),為每個客戶端提供一個定制的API缅叠。它可能還具有其它職責(zé)咏瑟,如身份驗證、監(jiān)控痪署、負(fù)載均衡码泞、限流、降級與應(yīng)用檢測狼犯。
目錄
- 微服務(wù)架構(gòu)與 API 網(wǎng)關(guān)介紹余寥;
- 與Spring Cloud Netflix Zuul的對比;
- 使用Spring Cloud Gateway構(gòu)建網(wǎng)關(guān)悯森;
- Hystrix斷路器在微服務(wù)網(wǎng)關(guān)中的應(yīng)用宋舷;
- 整合統(tǒng)一認(rèn)證授權(quán);
- 網(wǎng)關(guān)的異常處理瓢姻。
最后
感興趣的讀者可以參與下本次GitChat祝蝠,之前的文章也零碎介紹了Spring Cloud Gateway,如果已經(jīng)上手Gateway了的小伙伴就沒有必要再參加了幻碱。本次Chat的特點是基于最新版本的Spring Cloud Gateway绎狭,并串起來講解一個完整的Spring Cloud Gateway實戰(zhàn)應(yīng)用,文章之后會有讀者群交流褥傍。