Мы будем реализовывать решение для извлечения файлов из очереди (IBM - MQ).Сообщения будут состоять из 10-20 различных XML-сообщений, которые нужно будет снять с очереди, обработать и заархивировать (сохранить).Однако, когда мы храним данные, содержащиеся в сообщениях, в БД, мы хотим сохранить исходный файл, поэтому FileId, сгенерированный из процесса архивирования, должен быть сохранен и сохранен с метаданными.
Iпытаюсь выяснить, что даст мне наибольшую пропускную способность?
Требования:
- Хранить архив файла.
- Сохранять проанализированные данные (не блоб xml) из сообщений.
- Сохраните идентификатор исходного файла из архива.
- Реализация решения, которое будет масштабироваться, может значительно возрасти ... в настоящее время, вероятно, 40-50 000 сообщений в час.
Таким образом, в настоящее время мое узкое место заключается в том, что кажется, что мой процесс архивирования и обработка данных / загрузка базы данных являются последовательными (архив должен обработаться и быть успешным, прежде чем я смогу начать анализ / загрузку xml) ..... не знал, есть ли лучший способ сделать это.
Я бы предположил, что мы могли бы добавить другие серверы приложений, которые будут прослушивать одну и ту же очередь и при необходимости обрабатывать сообщения параллельно.Попытайтесь устранить БД как узкое место, выполнив при этом минимально возможную обработку (может отправить блоб xml в БД, но для этого потребуется уничтожение xml).