Java Spring boot + Netty로 멀티 인스턴스 구동시 포트 충돌 가능성

조회수 2264회

java spring boot + netty로 rest api와 소켓 서버/클라이언트가 작동되는 서비스를 개발했습니다.

그런데 서버 한대에서 서로 다른 포트로 인스턴스를 2개 이상 띄워서 사용하려고 하는데 팀에 다른 개발자분이 한 대에서 포트가 다르더라도 인스턴스를 2개 띄워서 사용하다 보면 java, netty에서 필요에 따라 동적으로 열리는 포트가 있어서 그 포트가 상호 간에 충돌날 경우가 있다고 하더라구요.

각 인스턴스별 포트는 아래와 같습니다.

  1. 인스턴스 A

    • 서버포트 : 8899 (쓰레드 : 10)
    • 상대방 서버포트 : 9091 (쓰레드 : 10)
    • API 서비스 포트 : 8888
    • jmxremote 포트 : 7888
  2. 인스턴스 B

    • 서버포트 : 38888 (쓰레드 : 10)
    • 상대방 서버포트 : 27777 (쓰레드 : 10)
    • API 서비스 포트 : 9888
    • jmxremote 포트 : 7889

제가 이해한 바로는 인스턴스A에서 netty가 동작할 때 필요에 따라 동적(?)으로 포트를 열 수가 있는데 이 때 인스턴스 B에서 지정한 포트를 사용하겠다고 시도할 수 있고 이로 인해 포트가 충돌나거나 TIME_WAIT이 발생할 수 있다고 하더라구요.

제가 socket, netty 관련 지식이 아직 부족한지 이해를 못하겠고 알려주신 분도 정확히 어디서 관련 정보를 확인할 수 있는지 기억하고 계신 것도 아니어서 이렇게 질문을 남깁니다.

혹시 추가 설명이 더 필요하거나 질문 자체가 잘못되었다면 거침없이 댓글 부탁드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)