💡 개요
오늘은 H2와 Kafka를 동시에 실행했을 때, 에러가 발생하는 이유를 정리해 보자.
🛠️ Kafka, H2 포트
Kafka의 기본 포트 번호는 9092이다.
H2의 기본 포트 번호는 8082이다.
그런데 왜 둘을 함께 실행시키면 에러가 발생할까?
그것은 바로 H2는 8082 포트뿐만 아니라 9092 포트도 사용하기 때문이다.
H2의 기본 포트는 웹 콘솔의 포트번호를 의미한다. 그렇기 때문에 8082로 접근하면 웹에서 콘솔로 접근할 수 있다.
하지만 TCP Server 즉, DB 접속용 포트는 따로 있다. 해당 포트가 9092이다.
위 이미지는 H2 콘솔에 접속하는 화면인데, 보다시피 JDBC URL에 tcp로 H2 데이터베이스에 접근하는 것을 알 수 있다.
그렇기 때문에 기본포트가 9092인 Kafka와 충돌이 발생하는 것이다.
그래서 내가 추천하는 방법으로는 웬만하면 Spring 환경에서 H2는 인메모리 방식으로 사용하거나, 아예 Kafka의 포트 번호를 9092 말고 9093 같은 다른 번호를 사용하는 것을 추천한다.
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.04.29 - apt-get update 하는 이유 (0) | 2025.04.29 |
---|---|
[개발 일기] 2025.04.28 - HTTP 상태코드 (0) | 2025.04.28 |
[개발 일기] 2025.04.26 - Collections.synchronizedXXX() vs Concurrent Collections (1) | 2025.04.26 |
[개발 일기] 2025.04.25 - 맥북 쿠버네티스 서비스 접근 (0) | 2025.04.25 |
[개발 일기] 2025.04.24 - MongoDB의 쓰기 속도가 빠른 이유? (0) | 2025.04.24 |