30강
27
작성한 질문수 5
Consumer 서버를 처음 만들 때 yml 설정에서 서버 포트를 왜 굳이 0으로 둘까? 궁금했는데 30강을 통해서 이해가 되었습니다.
Kafka와 관련없는 질문인거 같긴 하지만 혹시 yml 파일에 server.port를 8081 같은걸로 고정시켜두었다면, 서버 여러대를 띄울 수 있는 방법이 있을까요 ? (강의 환경처럼 localhost로 Consumer 띄우는 경우)
답변 1
0
안녕하세요 thrkrif님 ! 질문 잘 해주셨어요~
결론부터 말씀드리면, yml에 server.port: 8081로 고정해 두었더라도 서버를 여러 대 띄울 수 있습니다!
Spring Boot는 설정값을 여러 곳에서 읽는데, 실행할 때 따로 넘겨준 값이 yml에 적힌 값보다 우선순위가 높아요. 그래서 yml은 그대로 두고, 실행할 때마다 포트만 다르게 넘겨주시면 됩니다 :)
1. jar로 실행하는 경우
java -jar consumer.jar --server.port=8082
java -jar consumer.jar --server.port=8083
2. IntelliJ에서 실행하는 경우
Run/Debug Configurations에서 기존 실행 설정을 복사(Copy Configuration)한 뒤에
Program arguments에 --server.port=8082 (또는 VM options에 -Dserver.port=8082)를 넣어 주세요.
설정을 포트별로 하나씩 만들어 두면 각각 따로 실행할 수 있어요.
(Spring Boot 실행 설정이면 Modify options > Allow multiple instances를 켜고 같은 설정을 여러 번 실행하는 방법도 있는데, 이때는 포트가 겹치니 위처럼 설정을 나눠 두시는 걸 추천드려요!)
3. 환경변수로 넘기는 경우
SERVER_PORT=8082 java -jar consumer.jar
참고로 강의에서 port: 0을 쓴 이유는, 이렇게 서버마다 포트를 일일이 지정하지 않아도 빈 포트를 알아서 잡아 주기 때문이에요.
Consumer 서버는 외부에서 HTTP 요청을 받을 일이 없어서 포트 번호가 몇 번인지 중요하지 않거든요 ~ 반대로 API처럼 외부에서 호출해야 하는 서버라면 위 방법들로 포트를 직접 지정해서 띄우시면 됩니다!
이 외로 궁금하신 점 있으시면 언제든 편하게 추가 질문 남겨주세요~~
38강 클러스터에 컨트롤러 연결 질문
0
102
2
2. Kafka 설치 파일 다운받기 404 Not Found 오류 관련
0
148
2
UserSignedUpEventConsumer 에서 로그 DB 저장 문의
0
110
2
리더 파티션 선출 규칙에 관한 질문
0
144
2
kafka 실패 후 재시도 DLT 소비 무한으로 하는 현상이 발생합니다
1
249
2
질문드립니다.
0
110
2
잘못된 이메일 주소로 인해 발송 실패 코드
0
180
3
카프카 서버 관련 질문입니다.
0
160
2
선생님 질문이 있습니다. 왜 바로 aws 설치 하시는지 궁금합니다.
0
165
2
Kafka 음성메세지 브로커로도 적합한가요?
0
121
2
재시도조차 실패한 메시지 사후 처리하기
1
155
2
retry 시 동작과정 질문
0
183
2
JsonSerializer & JsonDeserializer
0
139
2
auto.create.topics.enable=false 설정
0
193
2
email 발송 로직 관련
0
123
2
concurrency 설정 + 같은 groupId 내에 consumer 여러개
0
165
2
concurrency 동작 안됨
0
140
3
컨슈머 서버 점진적 배포 시나리오
0
123
2
Connection -1
0
125
2
적정 파티션 개수 계산하는 방법 질문드립니다
0
201
2
섹션5 33 질문드립니다
0
96
1
aws아닌 도커로는 안되나요?
0
170
2
파티션 증가 질문드립니다
0
143
2
섹션7 51 컨슈머서버 무한 리로드?
0
211
4





