Сохранение изображений в файлах или в базе данных при использовании докера - PullRequest
0 голосов
/ 08 ноября 2018

Я использую docker для проекта, основной целью его использования является сделать приложение доступным, даже если один из узлов (это кластер из 6 узлов с docker swarm) не работает.

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

@ Редактировать Примечание. Кластер работает локально и не имеет доступа к Интернету

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Два варианта - два для совместного использования файлов через базу данных или через файловую систему.

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

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

0 голосов
/ 08 ноября 2018

Лучшее решение часто заключается в выборе хостинга (например, MongoDB Atlas ).Сделать базу данных устойчивой и высокодоступной очень сложно, и если вы не являетесь экспертом по докеру и монго, я настоятельно рекомендую вам использовать вариант с хостингом.

...