1 Вопрос: Как сделать разбиение в сочетании с Service Fabric Remoting

вопрос создан в Thu, May 2, 2019 12:00 AM

Допустим, я использую Stateful Service Azure Service Fabric с RemotingV2 и хочу хранить телефонные номера пользователей (это единственное, что делает моя служба).

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

Я хочу использовать имя пользователя для разделения.

Какой элегантный способ сделать это?

можно ли удалить параметр username из методов и каким-то образом получить его из запроса?

Есть ли лучший способ?

Спасибо

    
0
  1. Вы хотите использовать полное имя пользователя в качестве раздела? Кажется, вы храните только одно число на пользователя (данное getnumber возвращает одно число для данного имени пользователя), это правильно?
    2019-05-02 16: 22: 17Z
  2. @ PeterBons 1. это всего лишь пример. Но я собираюсь хранить несколько записей на пользователя. Я намерен использовать хеширование.
    2019-05-03 15: 23: 30Z
1 ответ                              1                         

Вот видео , которое охватывает эту тему, и вот пример рабочего кода , который идет с ним.

  • используйте алгоритм хеширования (например, FNV), чтобы получить хеш username, используйте результат long, чтобы определить Int64RangePartition по его ключу.
  • используйте шлюз, который выполняет хеширование за вас (например, управление API или пользовательская служба без сохранения состояния) и перенаправляет вызов
  • вы можете использовать заголовки клиентов , чтобы передать username62 (пример не выполняется). т)
2
2019-05-03 12: 50: 38Z
  1. Это также общее направление, о котором мы думали. Спасибо.
    2019-05-03 15: 24: 57Z
источник размещен Вот