Как разделить пул соединений между инстансами Amazon-ECS

У меня есть приложение с весенней загрузкой, работающее на Amazon-ECS. Экземпляры приложений добавляются на лету с помощью ECS. Теперь у каждого приложения есть HikariCP для пула соединений. Поэтому, когда я увеличиваю количество экземпляров, пул соединений в каждом экземпляре не используется совместно, и это приведет к проблеме. Как мне справиться с этой проблемой?

До сих пор я пытался создать средний уровень, который будет обрабатывать пул соединений, и запросы будут проходить через него, но опять же, это просто еще одно узкое место, как мне увеличить это? другая часть использует JNDI для того же, что несколько похоже на предыдущее решение. Или настроить размер пула соединений в каждом кластере, но затем, когда количество экземпляров увеличивается или уменьшается, я бы хотел, чтобы этот размер также корректировался.

Честно говоря, я понятия не имею, как люди справляются с пулом соединений в кластерной среде. Что можно сделать для совместного использования пула соединений, или вопрос в том, следует ли вообще использовать общий доступ, и, если это так, как установить ограничение на количество соединений, чтобы экземпляры не голодали.


person ajit junghare    schedule 07.08.2019    source источник
comment
Вы прошли по следующей ссылке: stackoverflow.com/questions/41236543/   -  person Sagar Chilukuri    schedule 07.08.2019
comment
да, прошел через это, не совсем решив мою проблему. Рассматриваемый модуль не имеет базы данных diff для каждого пользователя, но имеет несколько типов баз данных, поэтому модуль может подключаться к mysql или mongo и т. д. и будет поддерживать пул соединений для каждого источника данных. Пока я не знаю, будут ли экземпляры, созданные «на лету» в ECS, находиться в кластерном режиме и будут ли совместно использовать пул соединений или нет. Вот почему вопрос, чтобы увидеть, есть ли какая-либо другая альтернатива   -  person ajit junghare    schedule 07.08.2019


Ответы (1)


Обычной практикой для пулов соединений с несколькими экземплярами является независимое управление каждым из них.

Когда у вас есть несколько экземпляров приложения Spring Boot, работающих в ECS, каждому из них требуется свой собственный пул соединений, и параметры для этого пула соединений обычно не изменяются при увеличении или уменьшении количества экземпляров.

По сути, вы решаете, какие параметры пула соединений подходят для каждого экземпляра, и убедитесь, что сервер базы данных может обрабатывать максимальное количество соединений, которое вы ожидаете от этих параметров.

person Geoffrey Wiseman    schedule 07.08.2019