Nacos与OpenFeign开发
1.前言
我的话是微服务B调用微服务A的controller层
2.生产者
微服务A请求接口如下:
@GetMapping("/listUniteProdPrice")
public AjaxResult listUniteProdPrice(){
return AjaxResult.success(productService.listUniteProdPrice());
}
3.消费者
为了便于管理,创建一个文件夹名为client,与service、mapper层统计,接口命名规则为xxxFeignService,表明是远程调用的接口;FeignClient注解
的值是微服务A的spring.application.name
@FeignClient(value="MICRO-A",fallbackFactory = IProductFallback.class)
@Component
public interface IProductFeignService {
@GetMapping("/product/listProductByDeptId")
AjaxResult listProductByDeptId(@RequestParam("deptId") Long deptId);
@GetMapping("/product/listUniteProdPrice")
AjaxResult listUniteProdPrice();
}
同时需要在启动类添加注解,并标明远程调用接口的文件夹在哪个位置
@EnableFeignClients({"com.workflow.oa.client"})
4.扩展
加入hystrix/sentinel断路器...
如果接口长时间没有返回或报错,返回消息给前台
@Slf4j
public class IProductFallback implements FallbackFactory<IProductService> {
@Override
public IProductService create(Throwable cause) {
log.error("获取产品数据调用失败:{}", cause.getMessage());
return new IProductService() {
@Override
public AjaxResult listProductByDeptId(Long deptId) {
return AjaxResult.error("获取产品数据调用失败:{}", cause.getMessage());
}
@Override
public AjaxResult listUniteProdPrice() {
return AjaxResult.error("获取产品数据调用失败:{}", cause.getMessage());
}
};
}
}
Nacos与OpenFeign开发的更多相关文章
- Nacos:Nacos与OpenFeign的对接使用
Nacos(三):Nacos与OpenFeign的对接使用 上篇文章中,简单介绍了如何在SpringCloud项目中接入Nacos作为注册中心,其中服务消费者是通过RestTemplate+Rib ...
- Nacos(三):Nacos与OpenFeign的对接使用
前言 上篇文章中,简单介绍了如何在SpringCloud项目中接入Nacos作为注册中心,其中服务消费者是通过RestTemplate+Ribbon的方式来进行服务调用的. 实际上在日常项目中服务间调 ...
- Nacos C++客户端开发文章
前段时间关注了下阿里巴巴发起的开源项目Nacos,这是一个注册.配置中心(Naming And Config),支持各种语言的客户端,但是唯独没有C++的,考虑到以前做过一段时间的C++程序员,不禁一 ...
- 【分布式】-- 基于Nacos、OpenFeign搭建的微服务抽奖系统后台小案例
1.项目介绍 最近入项目之前要求熟悉一下SpringCloud Nacos微服务基于Feign接口调用并整合Swagger2进行接口文档展示给前端,所以自己按照要求来编写并整合了一套基于SpringC ...
- Nacos(五):多环境下如何“读取”Nacos中相应的配置
前言 前景回顾: Nacos(四):SpringCloud项目中接入Nacos作为配置中心 Nacos(三):Nacos与OpenFeign的对接使用 Nacos(二):SpringCloud项目中接 ...
- Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产?
服务注册和服务配置开源项目 Nacos 本周发布了 v0.8.0 Pre-GA 版本,作为开源项目生命周期中的里程碑版本之一,v0.8.0 Pre-GA版本支持登录.命名空间.Metrics监控(对接 ...
- Nacos发布0.5.0版本,轻松玩转动态 DNS 服务
阿里巴巴微服务开源项目Nacos于近期发布v0.5.0版本,该版本主要包括了DNS-basedService Discovery,对Java 11的支持,持续优化Nacos产品用户体验,更深度的与Sp ...
- Nacos(四):SpringCloud项目中接入Nacos作为配置中心
前言 通过前两篇文章: Nacos(二):Nacos与OpenFeign的对接使用 Nacos(三):SpringCloud项目中接入Nacos作为注册中心 相信大家已经对Nacos作为注册中心的基本 ...
- SpringCloud实战 | 第一篇:Windows搭建Nacos服务
前言 为什么放弃eureka选择nacos?本地开发环境需要搭建nacos-server,想着是很简单的事但是被一些文章(少了关键必要的步骤)给带偏了,所以亲测成功后写了这篇文章. 搭建nacos-s ...
- 【Redis连接超时】记录线上RedisConnectionFailureException异常排查过程
项目架构: 部分组件如下: SpringCloudAlibaba(Nacos+Gateway+OpenFeign)+SpringBoot2.x+Redis 问题背景: 最近由于用户量增大,在高峰时期, ...
随机推荐
- hdfs操作——hdfs的shell命令和hdfs的JavaAPI操作
hdfs解决hadoop海量数据的存储. shell 命令(所有hadoop fs 可由 hdfs dfs代替) (1) 在hdfs上创建目录 hadoop fs -mkdir 目录名 (2) 本地文 ...
- 061_Apex 异常捕捉
Trigger 中的错误处理 在 Trigger 中,我们可以为进行操作的数据进行验证,类似于验证规则.如果遇到不符合条件的数据,可以通过 addError() 函数来将错误显示给用户,并记录日志. ...
- Vue添加--图片 二级联动
二级联动: 首先在数据处理层写对应语句, #region 分类 public List<GTYpe> GTYpe(int id) { return db.GTYpe.Where(p =&g ...
- 命令提示符怎么打开和Dos命令的基本使用
Dos命令 Dos命令窗口我们可以通过win+R输入cmd来打开 如果要用管理员身份打开直接在开始里搜索命令提示符,以管理员身份打开! 一些简单的Dos命令 //切换盘符 盘符名: //进入 cd / ...
- 简体Windows系统登录玩新枫之谷方法
2022-2-23 游戏更新后Locale.Emulato失效,64位游戏使用新的工具Locale_Remulator,请自行到GitHub上搜索下载,使用方法与Locale.Emulato类似. ...
- RStudio中有常用的快捷键
1.常用快捷键 转自:https://blog.csdn.net/swuteresa/article/details/8649067 2.RStudio中如何撤销上一步操作: 一般运行过的程序都会在H ...
- 【Appium_python】启动app,出现多次打开关闭导致失败问题,driver用单例模式(_new_)进行解决。
运用多设备,启动app多次出现打开又关闭问题,查看后是多次对driver进行实例化,就用单例的模式进行解决. 单例模式(Singleton Pattern)目的就是保证一个类仅有一个实例,每一次执行类 ...
- 在uniapp中使用百度地图的Autocomplete(关键字自动完成提示)不弹出提示框的问题
let ac = new BMap.Autocomplete({ "input": document.querySelector('input'), "location& ...
- 阿里云Linux服务器安装Maven实战教程
下载地址 https://maven.apache.org/download.cgi 文件上传 把下载的文件上传到阿里云服务器 /usr/local/software 的目录(使用工具) window ...
- 关于Python文件读取时,默认把\r\n换成\n
Python在非二进制形式读取文件时,自动把\r\n换成\n.(window下换行是\r\n) 建立一个test1.txt文件, aaaa bbbb 1.在utf8方式下读取 读取四个字符 1 f=o ...