Как сделать разбиение в сочетании с Service Fabric Remoting - PullRequest
0 голосов
/ 02 мая 2019

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

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

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

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

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

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

Спасибо

1 Ответ

2 голосов
/ 03 мая 2019

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

  • используйте алгоритм хеширования (например, FNV), чтобы получить хеш username, используйте результат long, чтобы определить Int64RangePartition по его ключу.
  • используйте шлюз, который выполняет хеширование для вас (например, управление API или пользовательская служба без сохранения состояния) и перенаправляет вызов
  • Вы можете использовать заголовки клиентов для передачи username. (образец не)
...