Как реализовать мультитенантную базу данных для потока данных весеннего облака - PullRequest
1 голос
/ 27 марта 2019

Мы хотели бы реализовать мультитенантное решение для SCDF, для которого у каждого арендатора могут быть уникальные определения задач и т. Д. В идеале нам нужен только один сервер SCDF (в отличие от настройки сервера SCDF для каждого арендатора), так какНа фото: multi-tenant SCDF

Возможно ли это или это единственный способ обеспечить изоляцию данных между арендаторами, чтобы иметь отдельные экземпляры сервера потока данных?

1 Ответ

1 голос
/ 27 марта 2019

То, что вы пытаетесь здесь, сегодня невозможно. Вы должны будете предоставить SCDF для каждого арендатора. В облачных платформах, таких как Kubernetes или Cloud Foundry, это рекомендуется, потому что вы можете управлять доступом арендаторов через изоляцию «пространства имен» и «org / space» соответственно. На этом основании платформы обеспечивают более надежное разделение посредством назначений RBAC для каждого пользователя в Арендаторе.

Немного больше информации о том, почему мы делаем это сегодня. SCDF и репозитории Task / Job связаны в том смысле, что Dashboard и другие клиентские инструменты взаимодействуют с одним и тем же источником данных, чтобы обеспечить согласованный UX для централизованного мониторинга и управления конвейерами данных. Благодаря недавней многоплатформенной поддержке бэкэндов для задач вы все равно должны использовать общий источник данных в текущем проекте.

Все это говорит о том, что мы ищем улучшения, чтобы позволить пользователям иметь базу данных со схемами с префиксом с идентификатором [см .: spring-cloud / spring-cloud-dataflow # 2048 ]. После этого можно будет выполнять фильтрацию по выполнению заданий / заданий по конкретному идентификатору и аналогичным образом отслеживать их как изолированные единицы операций в одном экземпляре SCDF.

Однако он может не масштабироваться для облачных развертываний. Каждая из границ изоляции арендатора, например, «пространство имен» в Kubernetes, должно иметь достаточно ресурсов (процессор / память / диск) для обработки «множественных» развертываний арендаторов приложений задач / пакетных приложений. Если вы не масштабируете емкость ресурса, у вас будут сбои развертывания.

Может быть, вы могли бы помочь с более подробным описанием ваших требований, чтобы мы могли понять, почему это все еще может быть полезным. Также расскажите, как вы собираетесь проектировать распределение ресурсов в базовой платформе развертывания - не стесняйтесь комментировать в # 2048 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...