最近想使用下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. JVM调优(一)——参数查询和问题排查

    JVM的参数类型 标准参数 -help -server -client -version -showversion -cp -classpath X参数 -Xint: 解释执行 -Xcomp:第一次使 ...

  2. TCP通信 -C/S中的Socket与ServerSocket

    客户端类:Socket类 TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器的数据,两次IO流 java.lang.Object 继承者 java.net.Socket 构造方法: ...

  3. Spring 梳理-webApplicationContext 与servletContext

    1.WebApplicationContext的研究 ApplicationContext是spring的核心,Context通常解释为上下文环境,用“容器”来表述更容易理解一些,Applicatio ...

  4. Spring 梳理-运行时动态注入bean

    动态注入的方法 使用占位符 使用Spring表达式

  5. 如何搭建基于Docker的gitlab服务器集成CI/CD实现DEVOPS(完整版)

    From this lesson you will learn about 1,How to install and configure a docker based gitlab server 2, ...

  6. EF Core 实现读写分离的最佳方案

    前言 公司之前使用Ado.net和Dapper进行数据访问层的操作, 进行读写分离也比较简单, 只要使用对应的数据库连接字符串即可. 而最近要迁移到新系统中,新系统使用.net core和EF Cor ...

  7. 自适应布局display:-webkit-box的用法

    在web布局中,我们经常使用的是display:inline-block,display:flex,这些,但其实在进行移动端设备自适应布局中,-webkit-box布局更加合适 不同的浏览器有不同的前 ...

  8. SpringBoot系列:Spring Boot使用模板引擎FreeMarker

    一.Java模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 在jav ...

  9. 11g bug event 'cursor: mutex S'-引发的CPU冲高问题

    问题背景:客户反应数据库服务器CPU占用过高 1> 确认问题根源登录客户DB服务器: top 查看当前负载 (几乎100%)top - 10:47:55 up 29 days, 21:51, 3 ...

  10. 我在用的翻译软件 -> 微软翻译+网易有道词典+谷歌翻译

    Windows网页翻译 因为微软翻译相对来说翻译网页更为准确,我也喜欢用谷歌的Chrome浏览器,但是我没找到微软翻译的扩展,这里只能放弃 这个需要配合Microsoft Edge浏览器进行使用,也是 ...