#spring #spring-boot #kubernetes #partitioning
#spring #spring-boot #kubernetes #разделение
Вопрос:
У меня есть серверная часть Spring Boot 2.2.x, развернутая в kubernetes. Я хочу разделить рабочую нагрузку в этом бэкэнде на количество реплик этого приложения. Если у меня есть один экземпляр, диапазон данных (который поступает из внешнего API) вообще не должен разделяться. Если у меня есть два экземпляра, первая реплика должна работать с первой половиной данных, а вторая реплика должна работать с другой половиной, и так далее.
Какой лучший способ справиться с такого рода проблемами? Доступна ли библиотека spring для динамического определения количества экземпляров и разделения данных? У меня уже есть доступный redis, я думаю, что смогу сохранить в нем некоторую полезную информацию.
Спасибо за ваши мысли.
Ответ №1:
Вы можете использовать шаблон удаленного разбиения пакетов spring на несколько процессов (каждый из процессов является модулем реплик), взаимодействующих друг с другом через некоторое промежуточное программное обеспечение. Пакет Spring batch поддерживает redis в качестве промежуточного программного обеспечения
Комментарии:
1. Я не хочу балансировать нагрузку на трафик, поступающий на мой серверную часть, я не хочу разделять внутреннюю рабочую нагрузку внутри моего приложения. Представьте запланированное задание в моем приложении, которое использует диапазон целых чисел от 0 до 100. Я не хочу, чтобы этот диапазон был разделен репликами (т. Е. реплика 1 использует диапазон 0-50, реплика 2 использует диапазон 51-100)