diff --git a/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaConsumer.java b/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaConsumer.java index cfd384ef..9c6595ae 100644 --- a/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaConsumer.java +++ b/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaConsumer.java @@ -11,8 +11,8 @@ @Slf4j public class KafkaConsumer { @KafkaListener( - topics = "jootalkpia.stock.local.minute", - groupId = "minute-price-save-consumer-group" + topics = "${topic.minute}", + groupId = "${group.minute}" ) public void processMinutePrice(String kafkaMessage) { log.info("message ===> " + kafkaMessage); @@ -31,8 +31,8 @@ public void processMinutePrice(String kafkaMessage) { } @KafkaListener( - topics = "jootalkpia.chat.local.message", - groupId = "chat-message-handle-consumer-group", //추후 그룹 ID에 동적인 컨테이너 ID 삽입 + topics = "${topic.chat}", + groupId = "${group.chat}", //추후 그룹 ID에 동적인 컨테이너 ID 삽입 concurrency = "2" ) public void processChatMessage(String kafkaMessage) { diff --git a/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaProducer.java b/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaProducer.java index 7e672224..c96909f5 100644 --- a/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaProducer.java +++ b/src/backend/chat_server/src/main/java/com/jootalkpia/chat_server/service/KafkaProducer.java @@ -17,7 +17,7 @@ public class KafkaProducer { public void sendChatMessage(ChatMessageToKafka chatMessageToKafka, Long roomId) { String jsonChatMessage = gson.toJson(chatMessageToKafka); - kafkaTemplate.send("jootalkpia.chat.local.message", String.valueOf(roomId), jsonChatMessage).whenComplete((result, ex) -> { //키 값 설정으로 순서 보장, 실시간성이 떨어짐, 고민해봐야 할 부분 + kafkaTemplate.send("${topic.chat}", String.valueOf(roomId), jsonChatMessage).whenComplete((result, ex) -> { //키 값 설정으로 순서 보장, 실시간성이 떨어짐, 고민해봐야 할 부분 if (ex == null) { log.info(result.toString()); } else { diff --git a/src/backend/chat_server/src/main/resources/application.yml b/src/backend/chat_server/src/main/resources/application.yml index dcd7a5cf..1312d879 100644 --- a/src/backend/chat_server/src/main/resources/application.yml +++ b/src/backend/chat_server/src/main/resources/application.yml @@ -8,7 +8,6 @@ spring: format_sql: true show_sql: true kafka: - bootstrap-servers: ${KAFKA_SERVER} consumer: key-deserializer: org.apache.kafka.common.serialization.StringDeserializer value-deserializer: org.apache.kafka.common.serialization.StringDeserializer @@ -16,8 +15,19 @@ spring: acks: all # 멱등성 프로듀서를 위해 all로 설정, 0 또는 1이면 enable.idempotence=true 불가 key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafka.common.serialization.StringSerializer + bootstrap-servers: ${KAFKA_SERVER} datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME} username: ${DB_USER} - password: ${DB_PASSWORD} \ No newline at end of file + password: ${DB_PASSWORD} + +topic: + minute: jootalkpia.stock.prd.minute + chat: jootalkpia.chat.prd.message +group: + minute: minute-price-save-consumer-group + chat: chat-message-handle-consumer-group + +server: + port: 8081 \ No newline at end of file diff --git a/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/domain/Schedule.java b/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/domain/Schedule.java index 5193bcad..517c9d71 100644 --- a/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/domain/Schedule.java +++ b/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/domain/Schedule.java @@ -3,7 +3,7 @@ public enum Schedule { MORNING("0 1-59 9 * * MON-FRI"), TRADING_HOURS("0 * 10-14 * * MON-FRI"), - CLOSING("0 0-31 16 * * MON-FRI"), + CLOSING("0 0-31 15 * * MON-FRI"), MIDNIGHT("0 0 0 * * MON-FRI"); private final String time; diff --git a/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/service/StockService.java b/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/service/StockService.java index 32edc059..c020b6d4 100644 --- a/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/service/StockService.java +++ b/src/backend/stock_server/src/main/java/com/jootalkpia/stock_server/stocks/service/StockService.java @@ -74,7 +74,7 @@ private void createMinutePriceTask(StockCode stockCode, ScheduledTaskRegistrar t MinutePriceSimpleResponse minutePriceSimpleResponse = getStockPrice(stockCode.getCode()); String jsonMinutePrice = gson.toJson(minutePriceSimpleResponse); minutePriceRepository.save(minutePriceSimpleResponse.toDocument()); - kafkaTemplate.send("jootalkpia.stock.local.minute", jsonMinutePrice).whenComplete((result, ex) -> { + kafkaTemplate.send("jootalkpia.stock.prd.minute", jsonMinutePrice).whenComplete((result, ex) -> { if (ex == null) { log.info(result.toString()); } else {