feign將rest請求隱藏,假裝成相似springmvc的controller同樣,拼接URL等操做交給feign去作前端
一、引入openfeign的jar包spring
二、啓動類添加註解mvc
@EnableFeignClientapp
三、寫對應的接口負載均衡
@FeignClient("user-service") public interface userclient{ @GetMapping("user/{id}") User queryById(@PathVariable("id") Long id); }
四、使用的時候直接注入使用url
openfeign已經包含了ribbon和Hystrix,不須要導入Hystrix的包spa
feign的熔斷機制rest
zuul網關 code
路由功能簡單使用,注意的是放問的時候須要加上匹配的前綴blog
zuul: routes: hehe: path: /uer-service/** url: http://localhost:8081
面向服務的一種配置(拉取服務列表)
引入eureka的依賴,
eureka: client: service-url: defaultZone: http://localhost:10086/eureka
zuul:
routes:
haha:
path: /user-service/**
serviceId: user-service
黃色部分的簡化的配置方式,能夠不寫。
user-service: /user/**
下面是默認的形式,zuul會自動拉取
user-service: /user-service/**
ignored-service: 須要忽略的服務(集合形式使用 -打頭)
- consumer-service
zuul:
routes:
user-service:
path: /user/**
serviceId: user-service
strip-prefix: true //去除前綴user
用戶的請求到達前端的zuul,接着會匹配path,結果找到對應的服務id,拉去服務列表,經過負載均衡,最後肯定服務的實例,注意feign實現裏內部的負載均衡
權限控制(zuul過濾器實現)
過濾器類型:前置、後置、錯誤、路由
過濾器的優先級
要不要過濾
過濾邏輯
過濾器的生命週期
前置過濾器中能夠配置限流,