
Artifact와 Name을 email-service라고 지어주자. Package name을 Java 컨벤션에 맞게 emailservice라고 지어주자.Spring Boot DevTools, Spring Web, Spring for Apache Kafka, H2 Database, Spring Data JPA를 선택하자. 이 프로젝트에서는application.properties를 지우고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
# 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:


