首页 > 解决方案 > 如何结合 Service Fabric Remoting 进行分区

问题描述

假设我正在使用带有 RemotingV2 的 Azure Service Fabric Stateful Service,并且我想存储用户的电话号码(这是我的服务所做的唯一事情)。

Task StoreNumber(string username, string phoneNumber);
Task<string> GetNumber(string username);

我想使用用户名进行分区。

这样做的优雅方法是什么?

我可以从方法中删除username参数并以某种方式从请求中获取它吗?

有没有更好的办法?

谢谢

标签: c#azureservice-fabric-statefulazure-service-fabric

解决方案


这是一个涵盖此主题的视频,这是一个与之配套的工作代码示例。

  • 使用(适当的例如 FNV)散列算法来获取 的散列username,使用结果通过其键long确定 an 。Int64RangePartition
  • 使用为您进行哈希处理的网关(例如 api 管理或自定义无状态服务)并转发调用
  • 您可以使用客户标头来传递username. (样品没有)

推荐阅读