У меня есть требование для создания Activity Dashboard для пользователей при входе в веб-приложение. На панели инструментов будут отображаться различные «портлеты» бизнес-транзакций, которые произошли с момента последнего входа в систему и т. Д.
Мне было интересно, какой должна быть идеальная архитектура для такой системы? Если на панели инструментов должно быть 7-10 различных портлетов данных, должен ли каждый портлет выполнять вызов БД для конкретной отдельной таблицы, чтобы получить последние транзакции? Или должна существовать общая таблица действий, где при выполнении бизнес-транзакции она сбрасывает данные (кто, что, где) в эту общую таблицу (синхронно или через очередь сообщений), а затем это единственная таблица, которая затем запрашивается приборной панелью.
Какое решение будет лучше для высокой производительности и масштабируемости?
Заранее спасибо за ваш вклад.
SP