새 Http 요청이 있을 때마다 현재 사용되는 데이터베이스와 이름이 Http URL 요청의 일부인 데이터베이스를 변경해야 합니다. 다음 코드를 사용하려고 하는데 서비스를 호출하여 실행 중일 때 이전 서비스가 완료되거나 충돌할 때까지 다시 호출할 수 없습니다. 문제는 "선택한 데이터베이스 없음"이라는 것을 알았지만 충돌 없이 데이터베이스를 변경하는 방법을 모르겠습니다. :( 아직 없는 경우 코드를 통해 자동으로 데이터베이스와 테이블을 생성해야 하므로 Flyway를 사용합니다.
요청된 URL을 통해 사용자로부터 전달된 이름을 사용해야 합니다. URL 패턴은 다음과 같습니다. .../api/v1/{db_name}/... 저는 jdbcTemplate을 사용하고 있지만 JPA 솔루션도 환영합니다 :)
으아아아두 명의 다른 클라이언트에서 링크를 두 번 호출할 때 예외:
으으으으
기본적으로 HTTP/s 호출을 통해 데이터베이스 비밀을 제공하기 때문에 귀하의 사용 사례는 매우 위험하다고 생각합니다. 기타 불편 사항은 다음과 같습니다.
모든 요청에 대해 데이터베이스를 로드하면 애플리케이션의 응답 시간이 크게 늘어납니다
확장성 및 리소스 소비 문제가 발생합니다.
대신 일반적으로 시작 시 즉시 데이터베이스 연결을 시작하고 나머지 프로그램 수명 주기 동안 열어 두도록 Spring Boot 애플리케이션을 설정하는 것이 좋습니다. 이 전략을 사용하면 확장성이 향상되고 데이터베이스 액세스 속도가 빨라집니다.
동일한 애플리케이션에 대해 여러 데이터베이스를 구성해야 하는 경우 여러 데이터 소스를 수동으로 정의할 수 있습니다. 각 요청에 따라 쿼리할 데이터베이스를 선택할 수 있습니다