feign(feign后面加do还是doing)
一、ribbon和feign的区别
1.启动类使用的注解不同,Ribbon用的是@RibbonClient,Feign用的是@EnableFeignClients。
2.服务的指定位置不同,Ribbon是在@RibbonClient注解上声明,Feign则是在定义抽象方法的接口中使用@FeignClient声明等等。
二、feign底层是什么协议
Feign是一个声明式、模板化的HTTP客户端,用于简化请求外部HTTP资源的开发。它的底层不依赖于任何特定的协议,而是通过集成SpringCloudNetflixRibbon来实现负载均衡和服务调用。
Ribbon可以与多种协议一起工作,包括但不限于HTTP、HTTPS、UDP等。Feign通过动态生成代理,将接口方法映射为HTTP请求,然后使用Ribbon进行负载均衡和服务选择。
这种设计使得开发者可以通过统一的接口定义和注解方式来调用外部服务,减少了开发的复杂性和重复性工作。
三、feign是不是rpc中间件
是的,Feign是一个声明式的RESTfulHTTP客户端,通常用于简化微服务之间的通信。它可以将HTTP请求转化为函数调用,使得开发者可以像调用本地方法一样调用远程服务。因此,Feign常用于实现微服务架构中的RPC(远程过程调用)通信。