gpt4 book ai didi

high-availability - Hystrix命令关键决定,服务名称+实例IP+Api名称?

转载 作者:行者123 更新时间:2023-12-03 04:44:38 25 4
gpt4 key购买 nike

我想在网关(如zuul)中实现Hystrix。网关将发现服务A、B或C,假设服务A有10个实例和10个Api。我的问题是。

命令关键决策的最佳实践是什么?服务名称+实例IP+Api名称。

看来这获得了最好的细节级别,因为不同的api,不同的实例失败不会循环破坏另一个,但它可能会占用大量的命令 key 。

这是一个例子。假设我与服务 A 通信,服务 A 有 5 个实例,我使用负载均衡器与服务 A 通信,ip 如下

  • 192.168.1.1
  • 192.168.1.2
  • 192.168.1.3
  • 192.168.1.4
  • 192.168.1.5

服务 A 有 4 个 api,例如

  • 创建订单
  • 删除订单
  • 更新订单
  • 获取订单

现在有很多选项可供选择的命令键。

  1. 服务级别,如 serviceA
  2. 实例级别,例如 192.168.1.1
  3. 实例 + API 级别,例如 192.168.1.1_getOrder

对于第一个选项,只有一个 hystrix 命令,它占用较少的 cpu 或内存,但如果一个 api 失败,所有 api 都会循环中断。

最佳答案

您的HystrixCommandKey标识一个HystrixCommand,它封装了aService.anOperation()。因此,可以使用组合键 Service+Command 来命名 HystrixCommandKey(但不能运行服务或 IP 地址的实例)。如果您没有提供显式名称,则 HystrixCommand 的类名称将用作默认 HystrixCommandKey

然后,Hystrix 仪表板会聚合服务集群中运行的每个实例的每个 HystrixCommandKey(服务+命令)的指标。

在您的示例中,它将是 serviceA_createOrder

关于high-availability - Hystrix命令关键决定,服务名称+实例IP+Api名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47236399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com