• RequestHeader 처리

  • SubscribeResponseVo → builder 아래로 이동

  • kafka 처리에 대해 Alarm -> Nofitication 적용, producer 처리

    @KafkaListener(topics = "feed-create"
    		, groupId = "feed-join-subscribe"
    		, containerFactory = "feedEventListenerContainerFactory")
    	public void consumeFeedEvent(FeedKafkaRequestDto kafkaFeedRequestDto) {
    
    		log.info("consumeFeedEvent: {}", kafkaFeedRequestDto.getContent());
    
    		List<Subscribe> authorUuidList = subscribeRepository.findByAuthorUuid(kafkaFeedRequestDto.getUuid());
    
    		List<String> receiverUuidList = authorUuidList
    			.stream()
    			.map(Subscribe::getSubscriberUuid)
    			.toList();
    
    		String splitedContent = kafkaFeedRequestDto.getContent().length() > 20 ? kafkaFeedRequestDto.getContent().substring(0, 20) + "..." : kafkaFeedRequestDto.getContent();
    
    		//AlarmKafkaRequestDto kafkaAlarmRequestDto = AlarmKafkaRequestDto.toDto(kafkaFeedRequestDto, receiverUuidList, splitedContent, TYPE);
    		NotificationKafkaRequestDto notificationKafkaRequestDto = NotificationKafkaRequestDto.toDto(kafkaFeedRequestDto, receiverUuidList,
    			splitedContent, TYPE);
    		sendMessage("feed-create-join-subscribe", notificationKafkaRequestDto);
    	}
    
    	public void sendMessage(String topic, NotificationKafkaRequestDto kafkaAlarmRequestDto) {
    		kafkaTemplate.send(topic, kafkaAlarmRequestDto);
    	}
    }
    
    • 위 로직은 피드서비스에서 피드 발행시 kafka를 통해 피드 정보에 대한 메세지를 받고, 피드 정보의 작성자 uuid를 이용하여 구독자 uuid 리스트 정보를 얻고, 이를 통합하여 다시 알림서비스를 향해 kafka의 메세지에 담아 보내는 것