一、通过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微服务之间如何调用接口相关推荐

  1. 从0到1学SpringCloud——08 通过fegin实现微服务之间请求调用

    目录 一.前言 1.关于Fegin 2.注意事项 3.POM依赖 二.编码实现 1.启动类 2.创建openfeign接口 3.Controller代码 4.回调工厂 三.文件配置 1.Feign接口 ...

  2. SpringCloud 微服务与远程调用测试

    微服务相关简述 微服务架构中的重要角色 服务调用者:可以暂时认为是与用户交互的角色(因为存在微服务之间的调用),可以根据该用户的类型将其赋予不同的服务调用权限,通过一次http请求访问调用对应的微服务 ...

  3. Spring Cloud【Finchley】实战-03订单微服务与商品微服务之间的调用

    文章目录 Spring Cloud[Finchley]专栏 概述 HTTP方式之RestTemplate 方式一 (直接使用restTemplate访问URL,url写死) 方式二 (使用LoadBa ...

  4. feign调用多个服务_Spring Cloud 快速入门系列之feign–微服务之间的调用

    我们将一个大的应用拆成多个小的服务之后,紧接着的一个问题就是,原本都在一个项目里,方法我可以随便调用,但是拆开后,原来的方法就没法直接调用了,这时候要怎么办? Spring Cloud提供了feign ...

  5. JHipster技术栈定制 - 基于UAA的微服务之间安全调用

    本文通过代码实例演示如何通过UAA实现微服务之间的安全调用. uaa: 身份认证服务,同时也作为被调用的资源服务.服务端口9999. microservice1: 调用uaa的消费者服务,服务端口80 ...

  6. mysql 间接引用_微服务之间安全调用 by UAA

    本文通过代码实例演示如何通过UAA实现微服务之间的安全调用. uaa: 身份认证服务,同时也作为被调用的资源服务.服务端口9999. microservice1: 调用uaa的消费者服务,服务端口80 ...

  7. Spring Cloud之微服务之间相互调用、如何让一个微服务调用另外一个微服务

    在使用微服务架构中,可能遇到一些业务情况会涉及服务之间相互调用,下面通过一个简单的demo给大家演示下,演示的是oms服务需要调用ump服务. 代码如下: 1.oms服务提供者 主要是这个注解: @E ...

  8. SpringCloud微服务之间使用Feign调用不通情况举例

    文章目录 摘要 情景1.远程调用失败 原因1:子项目接口没调通 -> 可能是配置文件名字/地址有问题(name或者url) 原因2:测试本地子项目没有启动,导致无法调用接口 原因3:Feign里 ...

  9. feign调用service_微服务之间的调用(Ribbon与Feign)

    概述 在前面的文章中,我们讲了使用Eureka作为服务注册中心,在服务启动后,各个微服务会将自己注册到Eureka server.那么服务之间是如何调用?又是如何进行负载均衡的呢?本文讲讲服务之间调用 ...

最新文章

  1. Nginx + Lua + redis (一)(转)
  2. Python网络爬虫与信息提取(二)(BeautifulSoup库)
  3. 在线html表格设计器,6款优秀的在线表单设计器
  4. [WCF]利用net.tcp傳輸協定來建置WCF Service
  5. linux 启动db2 服务器,Linux系统设置DB2等服务开机启动的过程
  6. 98.验证二叉搜索树
  7. 【转】粒子群算法----粒子群算法简介
  8. Server系列18:如何通过组策略赋予domain user受限网络管理权限?
  9. LeetCode简单题目(#27 #28 #35 #38)-2019.10.23-4道
  10. 年月日_时间单位年月日是怎么得来的?
  11. 幼儿园计算机游戏,幼儿园数学游戏大全(大中小班都有),不可错过!
  12. flash中zip/unip的实际意图
  13. www.lthack.com php,[经验谈] PHP漏洞全解 ---文章转载自(十八哥,自学it网_公益IT培训)...
  14. Word2vec使用手册
  15. 模版之家第三方解析下载不用开年或终身会员也能下载
  16. 阿里云服务器运行django项目报错sqlite3版本低以及注意事项
  17. Djano3.0使用-CBV使用实例
  18. STM32Cubemx的安装及用寄存器HAL库完成LED流水灯程序
  19. Vmware虚拟机怎么备份?2种简单方法!
  20. STM32-RS485通信软硬件实现

热门文章

  1. 抖音短视频带货的红利马上结束了+虚拟人能否代替直播带货?
  2. Java生成唯一id的几种方式(已验证)
  3. linux中initrd的含义,浅谈linux启动的那些事(initrd.img)
  4. jQuery初识之选择器、样式操作和筛选器(模态框和菜单示例)
  5. 2-6实变函数之微分与不定积分
  6. 实变函数与高等概率论--如何理解生成的σ代数
  7. unity3d 模拟人体皮肤
  8. 如何查询自己名下有多少电话卡
  9. 【CentOS7】U盘装 CentOS7 进入 dracut 真正解决办法
  10. H5 如何实现唤起 APP兼容版