azure - 在服务结构中有状态服务中创建唯一的长

标签 azure azure-service-fabric

我有一个有状态的服务结构服务,需要调用第三方 API。当它调用 API 时,它必须提供一个 long 类型的唯一 ID。有状态服务中是否有任何方法可以获取下一个可用的 Long,而不需要该服务的其他实例也创建相同的 ID?

最佳答案

  • 如果允许重复使用并且第三方资源不被同一调用者同时使用,您可以使用服务实例的哈希码。

  • 您可以使用RandomNumberGenerator生成 8 个随机字节,并使用 BitConverter 将它们转换为 long得到一个相当好的随机长值。 无法保证两个随机数永远不会相同。 不过,使用 8 个字节的可能性相当大。

  • 您可以创建一个 Actor 或服务来跟踪当前使用的长值(或曾经使用过的值 - 如果需要)。让它按需分配新鲜的长值。

关于azure - 在服务结构中有状态服务中创建唯一的长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47756896/

相关文章:

python - Azure Linux Python Webapp ImportError : libodbc. so.2 无法打开共享对象文件

Azure Development Fabric 日志代理在启动时崩溃

azure - 如何根据解决方案配置更改azure函数local.settings.json?

azure-service-fabric - Service Fabric 群集的 MSI/托管服务标识)

azure-service-fabric - Azure Service Fabric在生产服务器: FabricCommon. dll上缺少DLL

windows - 通过 TeamCity 执行时 dos2unix 格式转换错误

azure - Web App后台任务的暂存槽处理消息

wcf - Service Fabric - 如何在外部公开 wcf 服务

azure - Service Fabric 设置入口点

c# - 服务结构: Calls between services are delayed?