Поддержка файловой системы NFS / Network для собственного приложения Cloud - PullRequest
0 голосов
/ 21 октября 2019

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

1 Ответ

2 голосов
/ 21 октября 2019

Как и все, это действительно зависит от вашего варианта использования и потребностей.

Области, где NFS превосходит:

  • Для чтения / записи используется стандартный API файловой системы, который хорошо известен
  • Приложение, которое читает / записывает в локальную файловую систему, может быть изменено на чтение / запись NFS, и без изменения кода может быть включено увеличение
  • Вы можете масштабировать до некоторой степени, обычно добавляяаппаратные средства / ресурсы для вашего NFS-сервера
  • Это зависит от Cloud Foundry, но вы можете добиться гораздо большего масштаба, если у вас есть рабочая нагрузка только для чтения или если вам не нужно отображать uid / gids. Когда CF монтирует ваш том NFS, он будет использовать определенные параметры монтирования для загрузки производительности, если вы можете работать с этими ограничениями.
  • Этот параметр отлично работает с устаревшими приложениями и переносит их на выбранную вами облачную платформу.

Области, в которых служба на основе HTTP или служба в стиле S3 превосходит:

  • Масштабирование. Масштабируется путем добавления большего количества узлов / экземпляров к вашему сервису или, если у вас есть сервис, такой как S3, он масштабируется для вас и обычно до довольно больших пределов (сегменты могут быть несколькими ТБ).
  • Это зависит от сервиса, но обычно вы можете получить лучшие параметры безопасности (аудит, детализированные разрешения доступа и т. д.) таким образом. NFS довольно ограничен в способе отображения uid / gid, особенно в облачных средах, где uid / gid на самом деле не привязан к конкретному пользователю.
  • Это зависит от вашего сервиса, но иногда вы можете использовать уникальные свойстватакой службы, как S3, чтобы снять нагрузку с вашего приложения, например, если у вас есть клиенты, загружающие файлы. S3 или Cloud Front могут обрабатывать их напрямую, а не тратить на них циклы вашего приложения.
  • Если вы создаете новое приложение, обычно это путь.

Мои $ 0,02. Надеюсь, это поможет!

...