SpringCloud微服务之间如何调用接口
一、通过Nacos 进行微服务的注册与发现
(provider(接口调用者)和comsumer(接口提供者)两个微服务都要进行以下前3步)
1、在微服务对应pom.xml中配置Nacos客户端的pom依赖
<!--服务注册-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2、添加服务配置信息
配置application.properties,在客户端微服务中添加注册Nacos服务的配置信息
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
3、添加Nacos客户端注解
在客户端微服务启动类中添加注解
4、启动Nacos服务
(1)nacos下载地址和版本
下载地址:https://github.com/alibaba/nacos/releases
下载版本:nacos-server-1.1.4.tar.gz或nacos-server-1.1.4.zip,解压任意目录即可
(2)启动nacos服务命令
- Linux/Unix/Mac
启动命令:sh startup.sh -m standalone
启动命令(standalone代表着单机模式运行,非集群模式) - Windows
启动命令:cmd startup.cmd 或者双击startup.cmd运行文件。
访问:http://localhost:8848/nacos
用户名密码:nacos/nacos
(3)启动注册中心
启动已注册的微服务,可以在Nacos服务列表中看到被注册的微服务
二、Nacos注册好后,通过Feign进行服务调用
1、在生产者和消费者微服务对应pom.xml中配置Feign的pom依赖
<!--服务调用-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2、在调用端的启动类添加注解
3、创建生产者对应的包和接口
创建com.xxx.xxx.client包
@FeignClient注解用于指定从哪个服务中调用功能 ,名称与被调用的服务名保持一致。
@DeleteMapping注解用于对被调用的微服务进行地址映射。
@PathVariable注解一定要指定参数名称,否则出错
@Component注解防止,在其他位置注入CodClient时idea报错
...
@FeignClient("service-vod")
@Component
public interface VodClient {@DeleteMapping(value = "/eduvod/vod/video/{videoId}")public R removeVideo(@PathVariable("videoId") String videoId);
}
4、最后调用微服务
在调用端的XxxServiceImpl中注入VodClient 并调用VodClient中的方法
@Override
public boolean removeVideoById(String id) {......//删除视频资源if(!StringUtils.isEmpty(videoSourceId)){vodClient.removeVideo(videoSourceId);}......
}
技术美学中…
SpringCloud微服务之间如何调用接口相关推荐
- 从0到1学SpringCloud——08 通过fegin实现微服务之间请求调用
目录 一.前言 1.关于Fegin 2.注意事项 3.POM依赖 二.编码实现 1.启动类 2.创建openfeign接口 3.Controller代码 4.回调工厂 三.文件配置 1.Feign接口 ...
- SpringCloud 微服务与远程调用测试
微服务相关简述 微服务架构中的重要角色 服务调用者:可以暂时认为是与用户交互的角色(因为存在微服务之间的调用),可以根据该用户的类型将其赋予不同的服务调用权限,通过一次http请求访问调用对应的微服务 ...
- Spring Cloud【Finchley】实战-03订单微服务与商品微服务之间的调用
文章目录 Spring Cloud[Finchley]专栏 概述 HTTP方式之RestTemplate 方式一 (直接使用restTemplate访问URL,url写死) 方式二 (使用LoadBa ...
- feign调用多个服务_Spring Cloud 快速入门系列之feign–微服务之间的调用
我们将一个大的应用拆成多个小的服务之后,紧接着的一个问题就是,原本都在一个项目里,方法我可以随便调用,但是拆开后,原来的方法就没法直接调用了,这时候要怎么办? Spring Cloud提供了feign ...
- JHipster技术栈定制 - 基于UAA的微服务之间安全调用
本文通过代码实例演示如何通过UAA实现微服务之间的安全调用. uaa: 身份认证服务,同时也作为被调用的资源服务.服务端口9999. microservice1: 调用uaa的消费者服务,服务端口80 ...
- mysql 间接引用_微服务之间安全调用 by UAA
本文通过代码实例演示如何通过UAA实现微服务之间的安全调用. uaa: 身份认证服务,同时也作为被调用的资源服务.服务端口9999. microservice1: 调用uaa的消费者服务,服务端口80 ...
- Spring Cloud之微服务之间相互调用、如何让一个微服务调用另外一个微服务
在使用微服务架构中,可能遇到一些业务情况会涉及服务之间相互调用,下面通过一个简单的demo给大家演示下,演示的是oms服务需要调用ump服务. 代码如下: 1.oms服务提供者 主要是这个注解: @E ...
- SpringCloud微服务之间使用Feign调用不通情况举例
文章目录 摘要 情景1.远程调用失败 原因1:子项目接口没调通 -> 可能是配置文件名字/地址有问题(name或者url) 原因2:测试本地子项目没有启动,导致无法调用接口 原因3:Feign里 ...
- feign调用service_微服务之间的调用(Ribbon与Feign)
概述 在前面的文章中,我们讲了使用Eureka作为服务注册中心,在服务启动后,各个微服务会将自己注册到Eureka server.那么服务之间是如何调用?又是如何进行负载均衡的呢?本文讲讲服务之间调用 ...
最新文章
- Nginx + Lua + redis (一)(转)
- Python网络爬虫与信息提取(二)(BeautifulSoup库)
- 在线html表格设计器,6款优秀的在线表单设计器
- [WCF]利用net.tcp傳輸協定來建置WCF Service
- linux 启动db2 服务器,Linux系统设置DB2等服务开机启动的过程
- 98.验证二叉搜索树
- 【转】粒子群算法----粒子群算法简介
- Server系列18:如何通过组策略赋予domain user受限网络管理权限?
- LeetCode简单题目(#27 #28 #35 #38)-2019.10.23-4道
- 年月日_时间单位年月日是怎么得来的?
- 幼儿园计算机游戏,幼儿园数学游戏大全(大中小班都有),不可错过!
- flash中zip/unip的实际意图
- www.lthack.com php,[经验谈] PHP漏洞全解 ---文章转载自(十八哥,自学it网_公益IT培训)...
- Word2vec使用手册
- 模版之家第三方解析下载不用开年或终身会员也能下载
- 阿里云服务器运行django项目报错sqlite3版本低以及注意事项
- Djano3.0使用-CBV使用实例
- STM32Cubemx的安装及用寄存器HAL库完成LED流水灯程序
- Vmware虚拟机怎么备份?2种简单方法!
- STM32-RS485通信软硬件实现