Задержка запуска приложения Spring Boot после обновления SSL-сертификата до rds-ca-rsa2048-g1JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Задержка запуска приложения Spring Boot после обновления SSL-сертификата до rds-ca-rsa2048-g1

Сообщение Anonymous »

У нас есть несколько приложений весенней загрузки, которые работают в AWS ECS. Они интегрируют ресурсы JMS и базы данных, и поскольку для нашего бизнеса согласованность данных имеет первостепенное значение, у нас не было другого выбора, кроме как использовать распределенные транзакции. Для этого мы используем версию с открытым исходным кодом Atomikos Transaction Manager 6.0.0 и по-прежнему используем Spring Boot 2.7.18.
Наша база данных — PostgreSQL 14.10, а для установления SSL-соединений мы используем сертификат rds-ca-2019. Поскольку срок действия сертификата rds-ca-2019 истекает во второй половине 2024 года, мы начали обновлять наши приложения для использования нового сертификата rds-ca-rsa2048-g1. Для некоторых приложений, которым не требуется XA (поэтому нет Atomikos), все работало без проблем, но для тех, которым требуется XA, мы заметили, что наши приложения никогда не восстанавливаются и продолжают перезапускаться AWS.
Ищем в журналах мы заметили некоторые записи, похожие на приведенные ниже:

Код: Выделить всё

2024-04-09T10:00:52.838+10:00   2024-04-09 10:00:52.838 INFO 53 --- [main] [CID:] c.atomikos.jdbc.AtomikosDataSourceBean : AtomikosDataSoureBean 'my-app-xa': initializing with [ xaDataSourceClassName=org.postgresql.xa.PGXADataSource, uniqueResourceName=my-app-xa, maxPoolSize=800, minPoolSize=400, borrowConnectionTimeout=30, maxIdleTime=30, reapTimeout=0, maintenanceInterval=60, testQuery=select 1, xaProperties=[password=my-app-perf-aurora-db-cluster.cluster-chlz60vpmgzr.some-zone.rds.amazonaws.com:5432/?Action=connect&DBUser=my_app_perf&X-Amz-Security-Token=xy...z-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240409T000047Z&X-Amz-SignedHeaders=host&X-Amz-Expires=899&X-Amz-Credential=XYZ&X-Amz-Signature=xyz,user=my_app_perf,url=jdbc:postgresql://my-app-perf-aurora-db-cluster.cluster-chlz60vpmgzr.rds.amazonaws.com:5432/swiftfrontdoor?sslmode=verify-full&sslrootcert=/opt/app/conf/rds-ca-rsa2048-g1.pem], loginTimeout=0, maxLifetime=2000000]
2024-04-09T10:00:53.785+10:00   2024-04-09 10:00:53.784 INFO 53 --- [main] [CID:] c.a.d.xa.XATransactionalResource : my-app-xa: refreshed XAResource
2024-04-09T10:00:53.785+10:00   2024-04-09 10:02:26,306 ~AD Thread Pool-Global0 ERROR Recursive call to appender Buffer
Обратите внимание, что временной интервал между второй и третьей записью журнала равен нулю. Однако при просмотре журналов приложение зависало на несколько минут. В этом примере прошло около 1,5 минут, что отражено в сообщении об ошибке рекурсивного вызова. Я подозреваю, что Atomikos пытается записать некоторую информацию в журналы, что приводит к увеличению времени вычислений.
В нашей библиотеке подключения RDS есть флаг, позволяющий ей работать в режиме XA или не в режиме A на основе Spring .jta.enabled и в качестве эксперимента переключил его на false, чтобы избежать использования Atomikos Transaction Manager, и приложение запустилось без проблем.
На этом этапе я запускаю идеи, и я надеюсь, что кто-то еще до нас использует Atomikos Transaction Manager в приложении Spring Boot, работающем в AWS, с доступом к базе данных PostgresSQL.
Заранее благодарим вас за ваш вклад.

Подробнее здесь: https://stackoverflow.com/questions/783 ... e-to-rds-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»