Zuul 和 feign的区别

Zuul 和 feign的区别

zuul 和 feign都集成了ribbon和hystrix, 都能实现远程访问

一般来说zuul的定位是网关,网关的作用是请求路由,相当于你服务的入口。然后根据请求的url不同转发到不同的服务中去。就像nginx的反向代理。

feign则更像是一个请求接口的客户端。就像定义得一样, Spring Cloud 中使用 Feign,可以做到使用 HTTP 请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问 HTTP 请求。代替了我们自己写的httpclient请求。

  • zuul作为整个应用的流量入口,接收所有的请求,如app、网页等,并且将不同的请求转发至不同的处理微服务模块,其作用可视为nginx。

  • feign则是将当前微服务的部分服务接口暴露出来,并且主要用于各个微服务之间的服务调用。两者的应用层次以及原理均不相同。

feign注重调用的结果。zuul注重请求转发的效率。

posted @ 2020-09-02 07:59  zpk-aaron  阅读(1628)  评论(0编辑  收藏  举报