当前位置: 首页 > news >正文

使用 feign 调用时对微服务实例进行选择

1.概述

在 微服务 调用的时候,我们会需要将微服务实例进行分组的情况,我们有订单和库存服务,订单服务 和库存服务 分别 为 A,B两组服务实例。 A 服务分组服务A用户,B服务分组服务B用户,这样就可以实现 一组服务对应一个用户,实现用户的应用服务隔离。本篇解决的是,订单A服务调用库存A服务,订单B服务调用库存B服务.

2.实现原理

2.1. 在服务启动的时候,指定一个服务分组

我现在有订单服务和库存服务,配置环境变量。

spring:application:name: order-serviceprofiles:active: devcloud:nacos:username: nacospassword: nacosdiscovery:server-addr: localhost:8848namespace:  localmetadata:group: ${group:A}

我们给每个微服务定义一个 group 的元数据,在启动的的时候指定这个数据。
启动程序命令 java -jar orderdemo-0.0.1-SNAPSHOT.jar --server.port=9902 --group=B

image

2.1. 在使用FEIGN访问服务的时候,选择服务实例

具体是根据当前的服务实例的分组,选择目标服务的服务实例。

3. 在我们的产品中实现代码如下

3.1 引入jar包

<dependency><groupId>com.redxun</groupId><artifactId>ac-core-loadbalance</artifactId><version>7.4-SNAPSHOT</version></dependency>

3.2 增加组选择器配置

@Configuration
public class FeignConfig {@Bean@Primarypublic IServiceSelector groupSelector() {return  new GroupServiceSelector();}
}

如果用户有其他的需求,可以实现IServiceSelector 接口后进行配置。

接口定义如下:

public interface IServiceSelector {List<ServiceInstance> getServices(List<ServiceInstance> var1, Environment var2);
}
http://www.rkmt.cn/news/10164.html

相关文章:

  • EI目录今年第3次更新!55本中国期刊被收录,附完整版下载
  • 自定义属性编辑器
  • Computer Graphics Tutorial
  • CF1874(CF Round 901) 总结
  • 2. Spring AI 快速入门使用 - Rainbow
  • 阿里将发布多模态模型 Qwen3-Omni,主打多语言与复杂推理;DeepvBrowser 上线 AI 语音浏览器丨日报
  • Word文档内容批量替换脚本 - wanghongwei
  • EF 数据迁移生成sql脚本
  • 第七章 手写数字识别V1
  • QBtn 组件go参数类型错误解决方案
  • 云计算实践部署笔记
  • [eJOI 2024] 奶酪交易 / Cheese
  • 若依前后端版本-综合QA
  • tests-stats/regression.sh
  • 计算机毕业设计-在线书城管理系统-计算机毕设辅导-源码-文档-全套资料 - 指南
  • 工程化知识管理新范式:DevOps驱动下的智能文档体系建设实践
  • 从零开始学Flink:数据转换的艺术
  • 20250827_黔西南网信杯_丢失的数据
  • 【第十一章】Python 调用 MySQL 全面指南:从基础到实践​ - 实践
  • 11.备库出现gap处理方法
  • 修改Abp中Auto API Controllers中 默认生成的 Put、Delete请求
  • 电阻-温度数据拟合工具(最小二乘法)
  • delphi clientdataset 中文过滤问题
  • 基于 systemd 的 Go 应用自动化部署完整指南
  • 指令流水线的影响因素
  • [vscode] 快捷键记录
  • 工业级CAD数据优化工具:PiXYZ Studio 2025 图文安装指南
  • (转)使用 Embarcadero Delphi FMX 应用程序实现多点触控
  • YKM-1Z-16
  • 如何做好研发项目的资源分配