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 问题背景: 最近由于用户量增大,在高峰时期, ...
随机推荐
- 版图 shrink
先打开模拟部分的版图,然后在ciw 里面执行 dbCreateXFormPCell(geGetEditCellView() "libName") 然后在"libName& ...
- python菜鸟学习: 6. 字典常用方法
# -*- coding: utf-8 -*-dict1 = {"name": "liyuzhoupan", "age": "22 ...
- php处理mysql的结果集
Php使用mysqli_result类处理结果集有以下几种方法 fetch_all() 抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集. fetch_array() 以一个 ...
- 大唐电信AC集中管理平台弱口令漏洞
网络资产搜索: 找到平台 进行默认口令登入:admin/1***** 登陆 End!!!
- 解决vue 移动端项目“切换页面,页面置顶”后报错为:"TypeError: Cannot set property 'scrollTop' of null"
参考原代码链接:https://www.cnblogs.com/wayneliu007/p/11932204.html 报错截图: 解决方法: 导入的getScrollParent为真返回的null ...
- Linux 使用Postfix与Dovecot部署邮件系统
电子邮件系统 电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些. 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电 ...
- mysql大小写无法区分问题
1.在创建表时设置编码格式 ALTER TABLE `test`.`t_test` COLLATE=utf8mb4_bin; 只能在建表或者没有数据时设置. 还有其他比如改字段格式,比如将varcha ...
- IP协议数据包
Header Length:头部长度固定20字节,永远为5(4bit为单位) Total Length:头部+包, 抓包结果 Identification.Fragment Flags.Fragmen ...
- xShell执行js脚本
var CMD = 'ls'; var INTERVAL = 1; var MAX = 5; var CR = String.fromCharCode(13); var LF = String.fro ...
- MySql 自动设置时间(自动获取时间,填充时间)
应用场景: 1.在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间: 2.在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意 ...