歡迎您光臨本站 註冊首頁

SpringCloud讓微服務實現指定程序調用

←手機掃碼閱讀     qp18502452 @ 2020-06-26 , reply:0

我們在做微服務時,有時候需要將微服務做一些限制,比如只能我們自己的服務調用,不能通過瀏覽器直接調用等。

我們可以使用spring cloud sleuth,在應用調用微服務時通過Tracer產生一個traceId,並通過request設置到header裡面,

然後sleuth會將該traceId在整個鏈路傳遞,我們在微服務中定義一個攔截器,取到header裡面的traceId並和鏈路中的traceId比較,

如果相等,則表明是我們自己的應用調用,攔截器通過,否則這次請求被攔截

代碼詳見github

https://github.com/devinzhang0209/interview_springcloud.git

一. 應用調用微服務,產生traceId

1. feign調用微服務,指定配置

2. FeignReqeustConfig中實例化攔截器用於生成traceId

3. 攔截器生成traceId並放到header裡面

二 . 攔截器攔截到traceId並和鏈路中比較

1. 攔截器判斷traceId

2. 攔截器生效,只攔截微服務的請求(定義時定義微服務都是cloud開頭)

 


[qp18502452 ] SpringCloud讓微服務實現指定程序調用已經有251次圍觀

http://coctec.com/docs/java/show-post-239796.html