Skip to content

redis를 이용한 채팅서비스, kafka를 이용한 알림, SNS (진행중)

Notifications You must be signed in to change notification settings

Inkwon97/SNS-Service

Repository files navigation

SNS-Service

redis를 이용한 채팅서비스, kafka를 이용한 알림, SNS (진행중)

사용할 기술

Docker, Spring boot
(사용 예정)Redis, Kafka
WebSocket

Configuration

SPRING 버전 : 2.7.0
JAVA= 11
Thymeleaf

📚 기술스택


🔧 사용 툴

기술적 구현 **

  1. db의 select 쿼리를 줄이기 위해 캐시 서버인 Redis에서 값을 조회한 뒤 데이터가 없다면 Repository를 조회하도록 하였습니다. 추가예정

🧑‍💻 기술적 의사 결정

기술명 이유
Spring Boot 자바의 웹 프레임워크로, 특정 Library의 버전 자동 설정 기능을 이용하여 쉽고 빠른 웹 개발을 위하여 선택
Github flow 개인으로 프로젝트를 진행하기에 Gitflow보다는 단순한 Github flow를 사용. preProduction으로 기능별 브랜치를 설정하고, Production을 통해서 pull/request를 사용
Docker Redis, MariaDB같은 독립적인 컨테이너들의 다중 컨테이너 라이프 사이클을 효율적으로 관리하기 위해 사용
Stomp,Sock.Js websocket의 경우 단순한 통신 구조로 인해 메세지가 어떠한 요청인지 구분하기 힘들다는 단점
따라서 메시지 전송을 효율적으로 처리하기 위해 Stomp의 pub/sub를 이용하였고,
Redis가 제공하는 pub/sub를 활용하여 다른 서버에 접속해 있는 클라이언트가 다른 서버의 클라이언트와 메세지를 주고받도록 구현
MARIADB Mysql과의 호환성이 뛰어나고, 더욱 강력한 기능을 제공합니다. 또한, RDS의 가격 측면에서 훨씬 저렴해 사용
Redis 채팅 데이터를 빠르게 읽고 쓰기 위한 caching용 DB로 선택
Kafka 추가예정

About

redis를 이용한 채팅서비스, kafka를 이용한 알림, SNS (진행중)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published