JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] Spring Boot로 EmailService 서버 초기 환경 설정하기

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Kafka 입문
slug
practice-setup-emailservice
type
post
updatedAt
Dec 6, 2025 05:39 AM

✅ Spring Boot로 EmailService 서버 초기 환경 설정하기

  1. Spring Boot 프로젝트 셋팅
    1. start.spring.io
      https://start.spring.io/
      notion image
      • Artifact와 Name을 email-service라고 지어주자.
      • Package name을 Java 컨벤션에 맞게 emailservice라고 지어주자.
      • Java 21 버전을 선택하자. 아래 과정을 Java 21 버전을 기준으로 진행할 예정이다.
      • Dependencies는 Spring Boot DevTools, Spring Web, Spring for Apache Kafka, H2 Database, Spring Data JPA를 선택하자.
       
       
  1. application.yml에 Kafka 연결을 위한 정보 작성하기
    1. 이 프로젝트에서는 application.properties를 지우고 application.yml을 생성했다.
      application.yml
      # 8081번 포트에서 서버 실행 server: port: 8081 spring: kafka: # 연결시킬 Kafka 서버 주소 bootstrap-servers: - {Kafka 서버 IP 주소}:9092 - {Kafka 서버 IP 주소}:19092 - {Kafka 서버 IP 주소}:29092 consumer: # 메시지의 key 역직렬화 방식 : Kafka에서 받아온 메시지를 String으로 변환 key-deserializer: org.apache.kafka.common.serialization.StringDeserializer # 메시지의 value 역직렬화 방식 : Kafka에서 받아온 메시지를 String으로 변환 value-deserializer: org.apache.kafka.common.serialization.StringDeserializer # 컨슈머 그룹이 미리 안 만들어져있는 경우에, 컨슈머 그룹을 직접 생성해서 메시지를 처음부터 읽음. # 만약 컨슈머 그룹이 이미 만들어져있다면, 해당 컨슈머 그룹이 읽었던 메시지부터 읽음. # 이 옵션을 주지 않으면 컨슈머 그룹을 직접 생성해서 메시지를 읽을 때, # 기존에 쌓여있던 메시지를 읽지 않고 컨슈머 그룹이 생성된 이후에 들어온 메시지부터 읽어버린다. # 그럼 컨슈머 그룹이 생성되기 전에 쌓여있던 메시지들이 처리되지 않고 누락돼버린다. auto-offset-reset: earliest
       
  1. application.yml에 H2 데이터베이스 연결을 위한 정보 작성하기
    1. application.yml
      # 8081번 포트에서 서버 실행 server: port: 8081 spring: kafka: # 연결시킬 Kafka 서버 주소 bootstrap-servers: - 3.39.193.254:9092 - 3.39.193.254:19092 - 3.39.193.254:29092 consumer: # 메시지의 key 역직렬화 방식 : Kafka에서 받아온 메시지를 String으로 변환 key-deserializer: org.apache.kafka.common.serialization.StringDeserializer # 메시지의 value 역직렬화 방식 : Kafka에서 받아온 메시지를 String으로 변환 value-deserializer: org.apache.kafka.common.serialization.StringDeserializer # 컨슈머 그룹이 미리 안 만들어져있는 경우에, 컨슈머 그룹을 직접 생성해서 메시지를 처음부터 읽음. # 만약 컨슈머 그룹이 이미 만들어져있다면, 해당 컨슈머 그룹이 읽었던 메시지부터 읽음. # 이 옵션을 주지 않으면 컨슈머 그룹을 직접 생성해서 메시지를 읽을 때, # 기존에 쌓여있던 메시지를 읽지 않고 컨슈머 그룹이 생성된 이후에 들어온 메시지부터 읽어버린다. # 그럼 컨슈머 그룹이 생성되기 전에 쌓여있던 메시지들이 처리되지 않고 누락돼버린다. auto-offset-reset: earliest h2: console: enabled: true datasource: url: jdbc:h2:mem:emailDB driver-class-name: org.h2.Driver username: sa password:
       
  1. Spring Boot 서버 실행시키기
    1. notion image
       
  1. H2 데이터베이스 접근해보기
    1. 크롬에서 이 주소(localhost:8081/h2-console)로 접속해보자.
      notion image
      Connect 버튼을 눌렀을 때 아래 화면과 같이 뜬다면 잘 연동된 것이다.
      notion image
       
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025
series
실전에서 바로 써먹는 Kafka 입문
slug
type
series-footer
updatedAt
Dec 6, 2025 05:39 AM
📎
이 글은 실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편) 강의의 수업 자료 중 일부입니다.