У нас есть требование в нашем проекте, где есть список долгосрочных задач, которые необходимо выполнить. Мы добавили этот список задач в очередь сообщений (SQS).
Теперь, когда мы начинаем опрос сообщений из SQS, каждое сообщение (задача) включает обновление огромного списка записей базы данных, и мы можем сказать, что это огромное строки обновлений базы данных задаются c для опрошенного сообщения.
Дается графическое представление
M1
/ | \
R1 R2 R3.....
Здесь M1 - опрашиваемое сообщение, для которого R1, R2, R3 ... ... список строк базы данных, которые должны быть обновлены.
Теперь вопрос заключается в том, как решить этот огромный список обновлений строк базы данных для данного сообщения. Должны ли мы: 1) Создать ExecutorService (мы используем Java для бэкэнда), создать несколько потоков для чтения списка записей и снова обновить их до базы данных или 2) Просто pu sh строка обновляется как отдельные сообщения обратно в очередь сообщений.
В любом из подходов, какой из них предпочтителен, и каким будет элегантное масштабируемое решение для решения этой проблемы