Архитектурный дизайн для потребляющих большой объем данных из различных источников данных - PullRequest
0 голосов
/ 01 декабря 2019

Текущая реализация продукта: в серверной части мы используем spring-boot, а для внешнего интерфейса у нас есть приложение React \ Redux.

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

1004 * Делать это с обычным SQLчерез пружину загрузка не будет работать из-за количества данных. Мы не можем работать в базе данных, так как они принадлежат к внешним клиентам, и мы также должны объединить данные для анализа 1006 * Для сводок. - Я ищу некоторые промежуточный продукт, который может работать с различными источниками данных, способных ручкубольшой объем данных, возможности для создания API для того, чтобы данные процесса, которые приходят из разных источников, и, наконец, эта потребность быть очень быстро, чтобы просмотреть вывод на стороне клиента (Rest \ React). 1008* Будем рады услышать ваши истории \ опыт и рекомендации.

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 декабря 2019

Одно из возможных решений может быть использование несколько Кафка Connect разъема источника для извлечения данных из различных источников данных. Они (соединители) будет помещать данные в Кафки темы. Кафка очень быстрый надежная потоковая платформа.

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

Если вам нужнодоступ к необработанным данным, тогда экосистема Kafka имеет REST-прокси , который предоставляет данные по темам через REST.

Короче говоря, ваш конвейер выглядит как

Источники данных -> Kafka Connect-> Кафка -> Кафка REST Прокси / Пользовательские данные обработки приложения -> React переднего конца.

0 голосов
/ 01 декабря 2019

Недавно мы реализовали аналогичный запрос от нашего клиента. Решение полностью на AWS Cloud Native и без сервера. Внутренняя часть (как консолидация данных из разнородных источников, так и извлечение данных в React) может быть выполнена несколькими различными способами.

1002 * Консолидация данных конца обратно - Существующий код Java может быть разложен на Lambda Java функцию и позволяя VPC, они могут также говорить с источниками On-прут данные. В качестве альтернативы можно использовать пакетную обработку или блоки данных, если коммерческий инструмент готов.

Извлечение данных для React - функции без сервера Java, если необходимо использовать существующий код / ​​логику.

Хранение данных - Redshift? В зависимости от вашего бюджета.

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