При записи в хранилище таблиц Azure мы иногда видим поведение - PullRequest
4 голосов
/ 18 июня 2019

При записи в хранилище таблиц Azure мы иногда видим поведение, подобное следующей ситуации:

  1. Мы отправляем запрос на обновление «Обновление получено и помещено в очередь для фактической обработки в Azure»

  2. Мы получаем результат 200 OK по запросу на обновление

  3. Отправляем запрос на данные

  4. Мы получаем данные до обновления (нежелательная ситуация)

  5. Мы немного подождем

  6. Отправляем еще один запрос на данные

  7. Мы получаем данные после обновления

Когда лазурь занята, обновление, по-видимому, занимает некоторое время, что становится проблемой, если мы немедленно запросим обновленные данные (возможная согласованность). Являются ли вышеуказанные предположения о внутренней работе лазури правильными?

Если это так, каковы рекомендации по получению актуальных данных непосредственно после обновления?

1 Ответ

1 голос
/ 01 июля 2019

Боюсь, что ситуация нормальная. Как мы знаем, CAP повлиял на очень много систем данных. Пожалуйста, обратитесь к этому подробному документу .

Описанная вами ситуация показывает, что хранилище таблиц Azure использует высокую доступность, что гарантирует постоянный доступ пользователей к сервису. Однако это незначительно влияет на согласованность, и данные, к которым обращаются пользователи, могут быть неактуальными.

Вы могли бы знать о cosmos db table-api, он поддерживает 5 уровней согласованности , от сильного до конечного.

enter image description here

Если вы относитесь к данным в реальном времени, вы можете установить уровень как Сильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...