gpt4 book ai didi

azure - 如何将身份号码作为服务结构上同一服务的每个实例的参数?

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

您好,我有一个无状态服务,我将在具有 5 个节点的服务结构上托管该服务,我的服务将运行 5 个实例并从数据库中的同一个表获取记录。所以现在我想为每个实例传递一个参数,例如实例 1 作为 1 、 2 作为 2 等,以便每个实例只能从表中获取与表中的列(InstanceId)匹配的记录,从表中获取记录我将在不同实例的 where 子句中使用此参数。我怎样才能做到这一点?提前致谢..

最佳答案

另一个解决方案可能是一个拥有 ID 池的服务协调器。
该服务可以知道何时创建从数据库获取数据的服务的新实例,并从池中为其提供一个 id。
如果获取数据的服务实例出现故障(您可以在 OnAbort 或 OnClose 中跟踪它),该实例会将其 id 返回到池中。

how can I get to know when a new instance of the service is created

实例化服务时,您可以在其代码中覆盖不同的事件。
您可以阅读更多here 、无状态服务实例生命周期段落。
例如,在 OnOpenAsync 中或在 RunAsyc 的开头,您可以向其他服务请求个人的唯一 ID。

And this OnAbort or OnClose are the events available in SF?

这些事件在每个服务中都可用。当某项服务出现故障时,顺丰会自动调用其中一项服务。因此,您可以调用任何其他服务来通知您要返回不再需要的 ID。

顺便说一句,我发现了一些额外的好事情要做:

  1. 当服务实例出现故障时,您可以通过服务总线发送一条消息,告知具有特定 ID 的实例不再可用。在总线的另一侧,可能有一个带有 id 池的服务,它将捕获该消息并将 id 返回到池中。
  2. 您可以使用 Azure Blob 存储的租赁机制。初始信息可以找到 here 。这个想法是当你有一个类尝试获取具有某个 id(范围 1-5)的租约时。如果成功获得租约,只需不时续约即可。如果没有,你可以尝试另一个id。这里最主要的好处是您可以设置一个时间段,之后租赁将再次免费。因此,如果服务实例出现故障,您无需“释放”其 ID。

关于azure - 如何将身份号码作为服务结构上同一服务的每个实例的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41995476/

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