SpringCloud讓微服務(wù)實(shí)現(xiàn)指定程序調(diào)用
我們?cè)谧鑫⒎?wù)時(shí),有時(shí)候需要將微服務(wù)做一些限制,比如只能我們自己的服務(wù)調(diào)用,不能通過瀏覽器直接調(diào)用等。
我們可以使用spring cloud sleuth,在應(yīng)用調(diào)用微服務(wù)時(shí)通過Tracer產(chǎn)生一個(gè)traceId,并通過request設(shè)置到header里面,
然后sleuth會(huì)將該traceId在整個(gè)鏈路傳遞,我們?cè)谖⒎?wù)中定義一個(gè)攔截器,取到header里面的traceId并和鏈路中的traceId比較,
如果相等,則表明是我們自己的應(yīng)用調(diào)用,攔截器通過,否則這次請(qǐng)求被攔截
代碼詳見github
https://github.com/devinzhang0209/interview_springcloud.git
一. 應(yīng)用調(diào)用微服務(wù),產(chǎn)生traceId
1. feign調(diào)用微服務(wù),指定配置

2. FeignReqeustConfig中實(shí)例化攔截器用于生成traceId

3. 攔截器生成traceId并放到header里面

二 . 攔截器攔截到traceId并和鏈路中比較
1. 攔截器判斷traceId

2. 攔截器生效,只攔截微服務(wù)的請(qǐng)求(定義時(shí)定義微服務(wù)都是cloud開頭)

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之
相關(guān)文章
Java Agent入門學(xué)習(xí)之動(dòng)態(tài)修改代碼
這篇文章主要給大家分享了Java Agent入門學(xué)習(xí)之動(dòng)態(tài)修改代碼的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-07-07
快速解決List集合add元素,添加多個(gè)對(duì)象出現(xiàn)重復(fù)的問題
這篇文章主要介紹了快速解決List集合add元素,添加多個(gè)對(duì)象出現(xiàn)重復(fù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Springboot集成RabbitMQ死信隊(duì)列的實(shí)現(xiàn)
在大多數(shù)的MQ中間件中,都有死信隊(duì)列的概念。本文主要介紹了Springboot集成RabbitMQ死信隊(duì)列的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Java經(jīng)典排序算法之冒泡排序代碼實(shí)例
這篇文章主要介紹了Java經(jīng)典排序算法之冒泡排序代碼實(shí)例,相鄰兩元素進(jìn)行比較,如過左側(cè)元素大于右側(cè)元素,則進(jìn)行交換,每完成一次循環(huán)就將最大元素排在最后,下一次循環(huán)是將其它的數(shù)進(jìn)行類似操作,需要的朋友可以參考下2023-11-11
java開發(fā)SpringBoot參數(shù)校驗(yàn)過程示例教程
這篇文章主要為大家介紹了SpringBoot如何進(jìn)行參數(shù)校驗(yàn)的過程示例詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
類似Object監(jiān)視器方法的Condition接口(詳解)
下面小編就為大家?guī)硪黄愃芆bject監(jiān)視器方法的Condition接口(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
SpringBoot中使用spring-retry 解決失敗重試調(diào)用
本文主要介紹了SpringBoot中使用spring-retry 解決失敗重試調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
java中PreparedStatement和Statement詳細(xì)講解
這篇文章主要介紹了java中PreparedStatement和Statement詳細(xì)講解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Java全面細(xì)致講解Cookie與Session及kaptcha驗(yàn)證碼的使用
web開發(fā)階段我們主要是瀏覽器和服務(wù)器之間來進(jìn)行交互。瀏覽器和服務(wù)器之間的交互就像人和人之間進(jìn)行交流一樣,但是對(duì)于機(jī)器來說,在一次請(qǐng)求之間只是會(huì)攜帶著本次請(qǐng)求的數(shù)據(jù)的,但是可能多次請(qǐng)求之間是會(huì)有聯(lián)系的,所以提供了會(huì)話機(jī)制2022-06-06

