Лучший способ обработать автоматическое масштабирование экземпляров базы данных с помощью HikariCP?
Мы хотим иметь возможность масштабировать экземпляры нашей базы данных AWS Aurora, доступные только для чтения, в ответ на загрузку. В свою очередь, мы хотели бы, чтобы приложение или группа приложений принимали эти новые экземпляры через свои пулы соединений HikariCP.
Насколько я понимаю, потенциально актуальными настройками являются:
- которые мы могли бы использовать, чтобы избавиться от старых связей. Новые соединения будут получать новые экземпляры базы данных по мере их автомасштабирования. Но под нагрузкой маловероятно, что у нас будет много простаивающих соединений.
-
который можно использовать для установки жесткого ограничения на время жизни каждого соединения, гарантируя, что они будут переработаны и получат новые экземпляры базы данных. Но, возможно, это вызовет отток больше, чем хотелось бы. -
который мы могли бы использовать вместе с чтобы бассейн уменьшился. -
который мы потенциально могли бы просто установить довольно высоким, надеясь, что это даст нам запас для увеличения пула и получения новых экземпляров базы данных, когда это необходимо. Однако это идет вразрез с советом Hikari об использовании небольших пулов фиксированного размера.
Как люди подходят к этой проблеме? Очевидно , что мы также имеем возможность для раскрутки новых интерфейсных экземпляров новых пулов , которые затем распространяться через случаи, но это кажется излишним , как мы только делать это , чтобы создать новые связи, мы на самом деле не нужны дополнительные мощность.
Другим вариантом, очевидно, было бы использование встроенной прокси-системы базы данных Amazon, но у нас уже есть Hikari, и было бы меньше движущихся частей, чтобы заставить ее вести себя так, как мы хотим.