gRP C Распределенные серверы - поддержание порядка пакетов - PullRequest
0 голосов
/ 13 февраля 2020

Я пробую gRP C как решение проблемы, и мне интересно, если это возможно, я ничего не нашел по этому поводу.

Я приведу пример проблемы

Допустим, у меня есть распределенный сервер A из 100 узлов.

Эти серверы будут вызывать другой сервер B, который является единым узлом, используя вызовы gRP C. Каждый узел имеет пул соединений, открытый для сервера B.

Цель состоит в том, чтобы сервер B принимал все запросы по порядку. Поскольку задержка может варьироваться, если два узла сервера A отправляют запросы почти одновременно, можно было бы получать эти запросы в неправильном порядке?

Будет признательна за любую помощь. Спасибо

1 Ответ

0 голосов
/ 19 февраля 2020

межпотоковый порядок не гарантируется на уровне http2. Лучше всего, если клиент генерирует порядковый номер (это еще одна очень сложная проблема), поэтому вы можете обработать его по порядку на стороне сервера (B). Обратите внимание, что указание порядка запроса само по себе очень сложно, если у вас нет атомных c часов.

эта проблема обычно означает, что вы пытаетесь решить реальную проблему неправильно. с некоторым устаревшим кодом это может быть неизбежно, но лучше исправить основную проблему, а не исправить ее хакерским способом или чем-то невозможным.

...