Стандартный метод разделения на несколько серверов? - PullRequest
0 голосов
/ 06 июля 2019

Контекст клиента, отправляющего файл на сервер, который был разделен на части.

В настройках одного сервера можно сохранить чанки на сервере. При поступлении новых фрагментов они добавляются к существующим данным.

При наличии нескольких серверов «микро-услуг» запрос может быть отправлен на сервер A, а затем на сервер B. Поэтому, когда B переходит к работе с новым чанком, он не может извлечь старые чанки из A.

Каковы лучшие практики для обработки этого шаблона? То, что я пока имею, это

A) Направляет запросы относительно файла A на тот же сервер Б) ИЛИ, Сохраните куски файла в общей службе

Проблема с А) состоит в том, что он начинает разрушать некоторые преимущества наличия нескольких серверов.

Проблема с B) заключается в том, что требуется намного больше передачи файлов туда и обратно.

Есть ли канонический / стандартный способ справиться с этим?

1 Ответ

0 голосов
/ 08 июля 2019

Обычно вы не храните свои файлы на том же сервере, на котором развернут ваш микросервис. В облачной среде для этой цели вы будете использовать выделенную услугу, предлагаемую облачным провайдером. Например, для AWS и Azure это будет:

Независимо от того, разбит ваш файл на куски или нет, эти службы будут иметь все возможности для решения этой проблемы, поскольку хранилище будет в одном месте. Вам не нужно беспокоиться о том, как это масштабировать и обрабатывать внутри, поскольку об этом позаботится поставщик облачных вычислений. Это одна из причин, по которой они предоставляют эту услугу.

Это распространенный способ хранения любых типов файлов. Конечно, есть исключения из этого, такие как файлы конфигурации, но обычно вы используете эти сервисы.

...