标签 ‘ Feign

feign-eureka-ribbon的协作原理

feign-eureka-ribbon的协作原理

在我们的项目中使用了feigneurekaribbon这三个组件,最近想要在负载均衡上做些文章,需要了解这三个组件底层是如何协作的,这样才能找到突破口,所以给这三个组件的源码大概翻了一遍,最终整理出该笔记,希望对同样对这三个组件是如何协作感兴趣的读者一些帮助;

文中使用的spring cloud版本为Greenwich.SR6

PS: 本文为纯源码分析,所以配合源码阅读本文最佳;

阅读全文

Spring Cloud 整合 Feign 的原理

前言

在 上篇 介绍了 Feign 的核心实现原理,在文末也提到了会再介绍其和 Spring Cloud 的整合原理,Spring 具有很强的扩展性,会把一些常用的解决方案通过 starter 的方式开放给开发者使用,在引入官方提供的 starter 后通常只需要添加一些注解即可使用相关功能(通常是 @EnableXXX)。下面就一起来看看 Spring Cloud 到底是如何整合 Feign 的。

阅读全文

聊聊 Feign 的实现原理

What is Feign

Feign 是⼀个 HTTP 请求的轻量级客户端框架。通过 接口 + 注解的方式发起 HTTP 请求调用,面向接口编程,而不是像 Java 中通过封装 HTTP 请求报文的方式直接调用。服务消费方拿到服务提供方的接⼝,然后像调⽤本地接⼝⽅法⼀样去调⽤,实际发出的是远程的请求。让我们更加便捷和优雅的去调⽤基于 HTTP 的 API,被⼴泛应⽤在 Spring Cloud 的解决⽅案中。开源项目地址:Feign,官方描述如下:

Feign is a Java to HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. Feign’s first goal was reducing the complexity of binding Denominator uniformly to HTTP APIs regardless of ReSTfulness.

阅读全文

return top