(三)SpringCloud实战之openfeign服务调用
feign是依赖注册中心调用的其他服务。
如果A服务调用B服务,A就是在注册中心找B服务,找到了才知道地址,才能调用接口。(也可以不用注册中心访问到B服务,需要在@feignclient的注解后面配置url,下面第四大点详细讲)
一、项目结构
配置中心
注册中心
服务A:学生服务
服务B:课程成绩服务
下面我们要实现:
服务A:学生服务
调用 服务B:课程服务
的接口
二、引入依赖
A服务是调用端,需要引入依赖
B服务是被调用端,可以不用引依赖
在引入依赖的时候发现,两个依赖:spring-cloud-starter-feign和spring-cloud-starter-openfeign,这里推荐使用openfeign。
下面是他俩的区别
openfeign 和 feign
openfeign 是 spring cloud 在 feign 的基础上支持 spring mvc注解 ,如 @RequestMapping 等等,OpenFeign 的@FeignClient 可以解析Spring MVC 的 @RequestMapping注解下的接口,并通过动态代理的方式生产实现类 ,实现类中做负载均衡并且 低耦合调用其他服务。
推荐使用openfeign
引入依赖
<!--feign客户端(调用端)-->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
这里没有写版本,是因为父工程引入了spring-cloud-dependencies依赖声明
三、调用端(A服务)写调用接口
3.1、编写远程调用接口:
接口FCourseService(习惯性大写F开头,表示这是Feign远程调用接口)
3.2、启动程序加注解
注解:@EnableFeignClients
3.3、使用远程调用接口
在需要使用的地方:
1、@Autowired注入FCourseService
2、使用fCourseService接口方法
到这里,远程调用环境全部准备好了。
启动A服务、B服务、注册中心、配置中心。
打开浏览器:http://localhost:8011/student/selectAllCourse
(我的A服务(学生服务)是运行在8011端口)
得到结果:
feign远程调用成功!!!!
四、扩展(不使用eureka注册中心来实现feign远程调用)
4.1、如果没有注册中心:
报错显示:Load balancer does not have available server for client: course-service(找不到服务)
4.3、实现
只需要在远程调用接口的@FeignClient后面的括号里面加上属性url就可以了:
@FeignClient(name = “course-service”,url = “http://localhost:8011/”)
(三)SpringCloud实战之openfeign服务调用相关推荐
- 【Springcloud】(06)中级搭建-OpenFeign服务调用
[Springcloud](06)中级搭建-OpenFeign服务调用 [一]OpenFeign是什么 (1.1)Feign和OpenFeign (1.2)Feign能干什么? (1.3)Feign集 ...
- 最新版Spring Cloud Alibaba微服务架构-Openfeign服务调用篇
文章目录 前言 一.OpenFeign配置使用 1.引入pom依赖 2.消费端开启Feign服务调用 3.消费端动态代理Service接口 3.消费端测试 二.OpenFeign日志配置 1.全局配置 ...
- SpringCloud Feign声明式服务调用
SpringCloud Feign声明式服务调用 1. 加入pom依赖 2. Application.java上声明@EnableFeignClients 3. @FeignClient声明接口调用服 ...
- SpringCloud OpenFeign服务调用客户端介绍及配置使用
一.OpenFeign介绍 OpenFeign是Netfix开发的一款声明式,模板化的Http服务调用客户端.使用在服务调用者工程端.OpenFeign的负载均衡也为客户端负载均衡.一下简称Feign ...
- SpringCloud之声明式服务调用 Feign(三)
一 Feign简介 Feign是一种声明式.模板化的HTTP客户端,也是netflix公司组件.使用feign可以在远程调用另外服务的API,如果调用本地API一样. 我们知道,阿里巴巴的doubbo ...
- SpringCloud OpenFeign 服务调用传递 token
业务场景 通常微服务对于用户认证信息解析有两种方案 在 gateway 就解析用户的 token 然后路由的时候把 userId 等相关信息添加到 header 中传递下去. 在 gateway 直接 ...
- springcloud使用restTemplate进行服务调用
在springcloud的体系中,微服务之间的互相调用是其中比较重要的模块之一,也是微服务的rpc主要核心板块,我们熟知的用于微服务互相调用的组件像ribbon和feign便是其中之一,但在谈到这两个 ...
- 文件上传结合SpringCloud的Feign进行服务调用
工作中一直使用的是SpringCloud,其中的多个组件的使用也已经有一段时间了,包括对组件的配置文件的编写,今天要讲的是SpringCloud中的一个远程服务调用的组件,使用Feign之后,我们调用 ...
- SpringCloud系列:分布式服务调用链跟踪整合Zipkin、RabbitMQ、Elasticsearch(二)
2019独角兽企业重金招聘Python工程师标准>>> 一.概述 RabbitMQ用于的服务和Zipkin服务端的通信,代替服务和Zipkin服务端通过http协议的通信,实现了微服 ...
最新文章
- 超经典超好玩的光枪游戏,强烈推荐!
- [分享] 关于App Store下载到一半发生错误的问题 [复制链接]
- 即使用ADO.NET,也要轻量级实体映射,比Dapper和Ormlite均快
- 政府会给我们补贴吗?
- 442. 数组中重复的数据
- wampserver环境下,apache本地下设置多个域名
- C++笔记------模版
- 对我国超级计算机的应用,要加强我国超级计算机应用人才储备
- window.onload 函数不执行处理
- Ubuntu删除不干净导致的一系列后果
- 关闭蜂鸣最简单的方法
- 无人驾驶 ai算法_质疑AI是否具有意图以及这对无人驾驶汽车意味着什么
- AutoCAD2012从入门到精通中文视频教程 第41课 建筑绘图1(个人收藏)
- Android RecyclerView 子条目(item)嵌套 RecyclerView
- linux下while循环,Bash 中的 while 循环详解
- python向网页上传excle、text文件
- ElementUI Tree 树形结构展示
- Tableau中的表计算
- PPT怎么转换成Word文档?分享两种转换小妙招
- android双屏不同apk,android rk3288 rk3399 双屏双触 双屏异显 验证apk
热门文章
- 通达信板块监控指标_通达信辅助判断指标公式行业板块看盘幅图
- Vue el-table-column根据行数据添加button和修改对应数据and控制显示条件
- 使用Maven创建Web应用程序项目
- Java基础(顺序结构)学习笔记
- 说说short s = 1; s = s + 1;有没有问题?如果有怎么解决?
- 2016年8月7日 星期日 --出埃及记 Exodus 16:7
- 初始化string对象时,申请空间的秘密
- 【苹果家庭推】imessage群发苹果软件安装C / C ++功能库提供
- [数论][组合数学]微信群
- golang的http