Миграция в облачную и многопользовательскую БД - PullRequest
0 голосов
/ 14 февраля 2019

У нас есть веб-приложение Java, которое мы планируем перенести в облако с намерением использовать его в среде SaaS для нескольких клиентов.Текущая архитектура приложения носит довольно асинхронный характер.Есть 4 различных модуля, каждый из которых имеет собственную базу данных.Когда существует необходимость обмена данными между модулями, мы отправляем данные с помощью Pentaho и используем структуру каталогов для хранения промежуточного файла данных, который затем выбирается другим модулем для заполнения его базы данных.Учитывая характер нашего приложения, эта асинхронная связь очень важна для нас.

Сейчас мы сталкиваемся с парой трудностей при переносе этого приложения в облако:

  1. Мы находимсяпланируем использовать Multi Tenancy на нашем сервере баз данных, но как мы можем гарантировать, что плоские файлы, которые мы используем для передачи данных между различными модулями, также направляются соответствующим арендаторам в БД.

  2. Поскольку мы планируем разместить это в облаке, запросим ваши просмотры, если хранение текстового файла на облачном сервере будет безопасным с точки зрения безопасности данных.

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

1 - мультитенантность может создать проблемы при передаче файлов.Но от того, какую информацию вы предоставили, процесс перемещения плоских файлов по приложению не будет затронут.Тем не менее, вы можете подумать о переходе в режим MQ для передачи данных.

2 - С точки зрения безопасности данных AWS предоставляет множество функций на уровне доступа, MFA и т. Д. Если требуется высокая степень защиты, я быРекомендую приобрести AWS Private cloud, в котором никому не предоставляется доступ на любом уровне.

0 голосов
/ 12 марта 2019

Хранение файлов в облаке безопасно, и вы можете использовать настройку управления ролями IAM для управления разрешениями файла.Облачные провайдеры, такие как Google ( Облачное хранилище ), Amazon ( AWS S3 ) и т. Д., Обеспечивают безопасную и масштабируемую инфраструктуру для хранения файлов в облаке.

В общем случае облачное хранилище предоставляет вам группы, которые помечены глобальной уникальной идентификацией.Для установки с несколькими арендаторами вы можете создать несколько сегментов для отдельных арендаторов и сохранить в них необходимые потоки данных.Далее, вы можете выполнять пакетные или потоковые задания, используя чайник (Pentaho), чтобы передать его в нужную базу данных на основе уникального определения сегмента.

В качестве альтернативы вы также можете нажать (, как и другие ответы ) для настройки потоковой передачи (например, ActiveMQ, Kafka и т. д.) с конкретными пользовательскими темами и потоковой службой ( с использованием java или pentaho ) для загрузки данных в соответствующую базу данных на основе темы.

Надеюсь, это поможет:)

0 голосов
/ 14 февраля 2019
  1. Я не могу дать какой-либо конкретный совет, не зная больше о вашей системе.Однако, исходя из своего опыта, я бы порекомендовал переключиться на очереди сообщений, что-то вроде Kafka сработало бы хорошо.

  2. Да, облачные провайдеры предлагают достаточную безопасность для статического хранения файлов.Вы можете ограничить доступ по своему усмотрению, например, используя AWS S3.

...