最近想使用下Feign,然后简单了解了一下,简单的搭了个demo。

  首先简单介绍一下Feign,它是一个Http请求客户端,类似HttpClient,具体里面实现还没去看,知道它是一个请求客户端就行,spirng 把这个客户端封装了一下,搞成了注解。

然后这个东西怎么使用呢,首先了解一下大致的构造。

整体模型:要用Feign,必须要以下3个东西

项目A(客户端)、服务中心 (Eureka注册中心)、项目B(服务端),然后把下面三个东西凑齐就可以跑示例了

1.Eureka 注册服务中心:Feign 必须需要 Eureka 注册中心 的支持,就是说,你必须先搭建一个Eureka 注册中心。

  去搭建吧:http://www.ityouknow.com/springcloud/2017/05/10/springcloud-eureka.html

如果maven依赖不对,看下这里:https://blog.csdn.net/hh652400660/article/details/79474419

2.服务端:Feign 是客户端,那么必须需要一个服务端才行,所以还得自己建一个服务端,然后这个服务端需要注册到Eureka 注册中心。

  spring 官网的demo示例,githup地址:https://github.com/spring-cloud-samples/feign-eureka

代码里2个东西

,把应用注册到 Eureka 注册中心

 +  开启一个服务接口

服务端配置文件

3. Feign 客户端,也是spring 官方示例 ~~~

客户端代码里3个东西

,把客户端应用注册到 Eureka 注册中心

 +  开启一个服务接口

这个就是 文章 主要的东西,通过这个注解 +  配置文件里 服务端的名字(即服务端注册到Eureka 注册中心 的名字),就能远程调用 服务端的接口了

配置文件我也贴下吧,示例里有

好了,就这3个东西,弄好了,就可以开始运行了

1.启动 Eureka 注册中心 的服务,启动后可以访问,http://localhost:8000/,地址和端口自行调整,我按照上面的设置的 8000端口。

页面这个样子的:

2.启动服务端server,访问接口看看:http://localhost:8111/

访问正常

3.启动Feign 客户端看看,访问地址:http://localhost:8211/,还是8111端口的返回结果

如图:

自己可以关掉其中某个服务试试,再去访问看看效果~~

结束:

整体模型就是下图这个样子,每个项目都可以注册到服务中心的,服务中心也可以是高可用的,今天先到这里,有机会再去试试里面的细节功能,

现在 Eureka 好像闭源了,感觉还没怎么成熟,后面有什么更新再看看去了

Spring Cloud Feign初接触的更多相关文章

  1. 笔记:Spring Cloud Feign Ribbon 配置

    由于 Spring Cloud Feign 的客户端负载均衡是通过 Spring Cloud Ribbon 实现的,所以我们可以直接通过配置 Ribbon 的客户端的方式来自定义各个服务客户端调用的参 ...

  2. 笔记:Spring Cloud Feign Hystrix 配置

    在 Spring Cloud Feign 中,除了引入了用户客户端负载均衡的 Spring Cloud Ribbon 之外,还引入了服务保护与容错的工具 Hystrix,默认情况下,Spring Cl ...

  3. 笔记:Spring Cloud Feign 其他配置

    请求压缩 Spring Cloud Feign 支持对请求与响应进行GZIP压缩,以减少通信过程中的性能损耗,我们只需要通过下面二个参数设置,就能开启请求与响应的压缩功能,yml配置格式如下: fei ...

  4. 笔记:Spring Cloud Feign 声明式服务调用

    在实际开发中,对于服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以我们通常会针对各个微服务自行封装一些客户端类来包装这些依赖服务的调用,Spring Cloud Feign 在此基础上做了进 ...

  5. 第六章:声明式服务调用:Spring Cloud Feign

    Spring Cloud Feign 是基于 Netflix Feign 实现的,整合了 Spring Cloud Ribbon 和 Spring Cloud Hystrix,除了提供这两者的强大功能 ...

  6. Spring Cloud Feign Ribbon 配置

    由于 Spring Cloud Feign 的客户端负载均衡是通过 Spring Cloud Ribbon 实现的,所以我们可以直接通过配置 Ribbon 的客户端的方式来自定义各个服务客户端调用的参 ...

  7. Spring Cloud feign

    Spring Cloud feign使用 前言 环境准备 应用模块 应用程序 应用启动 feign特性 综上 1. 前言 我们在前一篇文章中讲了一些我使用过的一些http的框架 服务间通信之Http框 ...

  8. 微服务架构之spring cloud feign

    在spring cloud ribbon中我们用RestTemplate实现了服务调用,可以看到我们还是需要配置服务名称,调用的方法 等等,其实spring cloud提供了更优雅的服务调用方式,就是 ...

  9. Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,输出异常

    Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,出现请求异常时,会进入熔断处理,但是不会抛出异常信息. 经过以下配置,可以抛出异常: 将原有ErrorEncoder ...

随机推荐

  1. Storm入门,看这篇就够了

    部分一:Srorm 简介 1.1 Storm是实时的数据流,Hadoop是批量离线数据 起源背景 Twitter 开源的一个类似于Hadoop的实时数据处理框架 Storm是由Nathan Marz ...

  2. python的元组存储的实质和多元赋值

    python中有一种赋值机制即多元赋值,采用这种方式赋值时,等号两边的对象都是元组并且元组的小括号是可选的.通常形式为 x, y, z = 1, 2, 'a string' 等同于 (x, y, z) ...

  3. PHPstorm出现的端口号错误问题(502)

    咔咔咔-听好 PhpStorm的默认端口是63342,但是在浏览器会提示502错误. 同时Phpstorm右下角会报错:Please ensure that configured PHP Interp ...

  4. Python基础(十三)

    今日主要内容 闭包 装饰器初识 标准装饰器 一.闭包 (一)什么是闭包 闭包:内层函数调用外层函数的变量就是闭包(不能是全局变量) def func1(): a = 10 def func2(): p ...

  5. Kotlin基本语法和使用技巧

    基本语法 val value: String? = "HelloWorld" val name: String = getName() ?: return //如果是null就re ...

  6. YiShaAdmin,基于.NET Core Web开源的后台快速开发框架

    YiShaAdmin YiShaAdmin 基于.NET Core Web开发,借鉴了很多开源项目的优点,让你开发Web管理系统和移动端Api更简单,所以我也把她开源了. 她可以用于所有的Web应用程 ...

  7. export import 的用法和注意之处

       1.整体引入: 会将若干export导出的内容组合成一个对象返回: import *as  api from  utils.https; api为自定义名称,可直接指定此文件中的某个方法,uti ...

  8. [JavaScript] 《JavaScript高级程序设计》笔记

    1.||   和 && 这两个逻辑运算符和c#是类似的,都是惰性的计算 a() || b()  若a()为真返回a()的结果,此时b()不计算: a()为假则返回b() a() &am ...

  9. Zookeeper学习笔记之 Zab协议(Zookeeper Atomic Broadcast)

    Zab协议(Zookeeper Atomic Broadcast): 广播模式: Leader将所有更新(称为proposal),顺序发送给Follower 当Leader收到半数以上的Followe ...

  10. 【CPU】解决打开360或者Chrome浏览器CPU占用过高

    cmd 运行: RD /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Protect"