기본 콘텐츠로 건너뛰기

4월, 2023의 게시물 표시

read db routing when readOnly=true with secrets manager

 if you use multi(write, read) db endpoint and use @transaction(readOnly=true) then it works -   datasource:          url: mysql://{write db url}:3306,{read db url}:3306/db_name?useSSL=false - @Transactional(readOnly = true) - build.gradle      implemxentation 'mysql:mysql-connector-java' if you use secrects manager then you should apply driver info - datasource:     url: jdbc- secretsmanager :mysql:aurora://{write db url}:3306,{read db url}:3306/db_name?useSSL=false     driver-class-name: com.amazonaws.secretsmanager.sql.AWSSecretsManagerMariaDBDriver - build.gradle      implementation 'mysql:mysql-connector-java'     implementation 'com.amazonaws.secretsmanager:aws-secretsmanager-jdbc:1.0.6'     implementation 'org.mariadb.jdbc:mariadb-java-client'  AWS Secrets Manager JDBC is a wrapper, so you need to add a driver dependency that fits the DB separately.

Kubernetes HPA

 request는 '적어도 이 만큼의 자원은 컨테이너에게 보장돼야해.' 의미 limit은 이 pod의 최대 사용량이 이렇게 제한된다. (사용량 제한) cpu 1000m - cpu 1개  memory 256Mi - 메모리 256m 포드를 생성할 때 사용되는 자원 할당 기준은 limit이 아닌 request 이다. HPA는 포드의 절대적인 리소스 사용량이 아닌, 포드에 할당된 request 대비 얼마나 리소스를 사용하고 있는지를 기준으로 삼음. 예를 들어, 만약 포드의 CPU request 값이 1000m 이라면 포드의 CPU 활용률이 50%가 되는 지점, 즉 500m를 기준으로 오토스케일링을 진행합니다.

[Kafka] no record information is available

java.lang.IllegalStateException: This error handler cannot process 'org.apache.kafka.clients.consumer.CommitFailedException's; no record information is available  consume logic take long time than max.poll.interval.ms.  so reduce max.poll.records value (default is 500)   application.yml   spring:         kafka:             consumer:                  properties:                       max:                            poll:                                 records: 10