кто решает доступность ресурсов сервисов в контексте конкретного проекта?
У меня следующая архитектура:
0) Пакет/модуль для какого-то фрейма
1) сервис = n пакетов, если они под один фрейм, например если пакеты под adonis, собираем сервис на adonis
2) проект, собсна состоит из грядки сервисов
Случай:
Есть сервисы:
0) Авторизация, управление доступом
1) Управление файлами
2) Управление компаниями
3) Управление пользователями
Надо мне доступность файла обеспечить: для пользователя который его загрузил, для компании и только авторизированным.
Как можно решить:
0) В каждом сервисе у сущностей завести scope, что по сути теги и маркировать сущности по необходимости. Например при создании файла пользователем вхерачивать в scope идентификтаор компании, идентификатор пользователя и идентификаторы его групп например
Херово, потому что сервис получает лишнюю ответственность, за которую он не должен отвечать
1) Городить ещё один сервис, в котором регистрировать любые события создания/обновления, но в результате получаем жирную точку отказа, а в случае если надо выбрать файлы например, которые принадлежат компании и не принадлежат какому-то конкретному пользователю получаем ещё и отдельный сервис, отвечающий за поиск и фильтрацию сущностей (например на эластике), либо городим pivot-сервисы, которые отвечают только за связи, что бы в случае с миграцией не получить жёсткие связки. Опять же получить десинк где-нибудь — только в путь.
Может кто почитать что предложит где на эту тему или ёпытом поделиться?
whitelist, vpc, vpn ?
я задачу понял так, что требуется способ хранить метаинформацию о файлах, чтобы отдать пользователю именно его файлик с некого распредеоенного стораджа.
Обсуждают сегодня