Redis Pub/Sub을 활용한 채팅 구현의 여정 - Service 레이어
·
Redis/Redis 채팅
서비스단 코드를 먼저 보여주고 각 메서드에 대해 설명하겠다.@Service@RequiredArgsConstructor@Slf4jpublic class ChatServiceImpl implements ChatService { private final ChatRoomRepository chatRoomRepository; private final RedisTemplate redisTemplate; private final RedisTemplate redisTemplateForSave; private final RedisTemplate redisTopicTemplate; private final UserRepository userRepository; private final No..
Redis Pub/Sub을 활용한 채팅 구현의 여정 - Chat Domain(Entity ~ Controller)
·
Redis/Redis 채팅
[이전글]이전 글에는 Redis와 채팅을 사용하기 위한 Config파일들을 알아보았다.https://sunro1994.tistory.com/254 Redis Pub/Sub을 활용한 채팅 구현의 여정 - 환경설정https://sunro1994.tistory.com/253 Redis Pub/Sub을 활용한 채팅 구현의 여정 - 개념편수많은 우여곡절 끝에 배포된 서버에 채팅 기능을 적용하게 되었다!간단히 말하자면 원래 담당했던 백엔드 팀원이 던져sunro1994.tistory.com [소개]이전 글에서는 Config파일을 사용해서 어떻게 Redis의 Pub/Sub 그리고 Websocket설정을 하는지 알아보았다.이번에는 Chat 도메인을 어떻게 설계했는지 Entity부터 Service까지 하나한 알아보려고 한..
Redis Pub/Sub을 활용한 채팅 구현의 여정 - 환경설정
·
Redis/Redis 채팅
https://sunro1994.tistory.com/253 Redis Pub/Sub을 활용한 채팅 구현의 여정 - 개념편수많은 우여곡절 끝에 배포된 서버에 채팅 기능을 적용하게 되었다!간단히 말하자면 원래 담당했던 백엔드 팀원이 던져놓은 빅 똥을 치우게 되었다.내 프로젝트의 스택은 아래와 같다.Java 17 / Spsunro1994.tistory.com이전 글에서는 Redis를 사용한 채팅 기능 구현을 위한 개념에 대해 간단히 알아보았다. 이번에는 WebSocket과 Redis의 Config파일 및 필요한 설정들에 대해 적어보려고 한다.@EnableWebSocketMessageBroker어노테이션을 적용하여 웹소켓 메세지 브로커에 대한 설정을 적용한다.통신에 필요한 목적지 설정(configureMess..
Redis Pub/Sub을 활용한 채팅 구현의 여정 - 개념편
·
Redis/Redis 채팅
수많은 우여곡절 끝에 배포된 서버에 채팅 기능을 적용하게 되었다!간단히 말하자면 원래 담당했던 백엔드 팀원이 던져놓은 빅 똥을 치우게 되었다.내 프로젝트의 스택은 아래와 같다.Java 17 / Spring 3.x / JPA / Redis / Spring Security / JWT / OAuth / Websocket / MySQL / Firebase그리고 처음 팀원이 던져놨던 채팅 구현을 위한 기능은 Kafka + Socket.io 였다. 내가 알기로 Kafka는 MSA구조에서 그룹으로 묶어 메세지를 전달하는 메세지 큐 방식에 적합한 절대 가볍지 않은 스펙의 프레임워크였으며, Socket.io 또한 Spring으로 만든 프로젝트가 아닌 별도로 서버가 생성되는 과정을 요구하는 방식이였으나 팀원을 믿고 기다렸..
[Redis] SpringBoot + Redis Pub/Sub 으로 채팅 구현 하기
·
Redis/Redis 채팅
1. Redis 채팅을 위한 pub/sub 개념- 따로 Notion 페이지에 정리를 해두었다.https://bitter-gambler-dbe.notion.site/Redis-1dcd91f7116d47f694de31ac71f8b4ab?pvs=4 Redis - 기본개념 | Notion목차bitter-gambler-dbe.notion.site이 글은 기본적인 Redis의 Pub/Sub 개념만을 사용하여 채팅을 구현하였으며 하나의 세션이 아닌 다른 세션에서 참가해도 함께 채팅이 가능한 멀티 서버이다.이 글을 다 작성하고 바로 채팅 기록을 MongoDB를 사용해서 저장하려고한다. 그 이후에는 Jwt토큰으로 유효성 검사를 하는 코드까지 추가할 것이니 하나씩 따라해보면 좋을 것 같다. 2. 필요한 환경- Java 1..