представь что твоя база может принять максимум 100 соединений одновременно
представь что твое приложение негерит 500 запросов одновременно
логично что приложение генерит в 5 раз больше того что база способна выдержать
для этого в приложении есть пул соединений
когда приложение хочет сделать 500 запросов, они все проходят через 20 соединений
база получает всего 20 соединений и работает прекрасно, ей с запасом
приложение делает все 500 запросов в 25 подходов, и все довольны
теперь представь что твое приложение делает не 500 а 5000 запросов
и 20 соединений не хватает уже, некоторые запросы отваливаются с таймаутом, нужно что-то делать:
1. увеличить количество соединений в пуле
2. поднять еще один инстанс
увеличиваем количество соединений до 50, все работает и все довольны
но внезапно приложение уже генерит не 5000 а 50000 запросов, и все снова тупит
поднимаем 10 инстансов, каждое сново генерит по 5000 запросов, и вроде бы все довольны
но вот из всех инстансов выходит 50*10 соединений = 500, а база, как мы помним имеет лимит в 100
и вот тут уже нам на помошь приходит баунсер
он получает наши 500 запросов от всех инстансов, а на выходе у него 50
в итоге наши приложения вместо того чтоб завалить базу нахрен просто выполняют свои запросы в 10 подходов
и даже не подозревают об этом
Это если на пальцах