Я работаю над приложением, которое состоит из
- Приложение Frontend
- API, который мне нравится рассматривать как шлюз
- Микросервисы, которые работают с бизнес-логикой и работают с БД
После реализации функции, аналогичной хранилищу файлов, для загрузки как маленьких, так и больших файлов , я просто предполагал, что буду хранить эти файлы в файловой системе микросервиса и сохранять пути вместе с метаданными в дБ микросервиса.
Поскольку на микросервисах не реализованы какие-либо конечные точки API Http, я загружаю файлы через свой API-шлюз. Но после осознания того, сколько нужно потратить на передачу этих файлов из API на микросервис, а также на обслуживание той же самой копии, я просто занялся их сохранением в файловой системе API и сохранением путей в базу данных микросервиса.
Этот подход в порядке?
Странно, что мой API gateway хранит и обслуживает файлы из собственной файловой системы?
Если да, должен ли я передавать файлы из API в микросервис после загрузки, даже если файлы могут быть большими - или микросервис должен сам реализовывать определенный API?
Я надеюсь, что этот вопрос не будет интерпретирован как основанный на мнениях - я хотел бы знать, какой подход будет наилучшим, учитывая шаблон frontend-api-microservice и существуют ли какие-либо архитектурные стандарты, которые учитывают этот сценарий, а также если любой подход имеет это Гочас .