본문 바로가기

Websocket3

다중 서버일 경우 Kafka를 통한 채팅 서버 중계(with stomp, spring boot) 들어가기 이 글은 채팅 프로그램 구현 후, 다중 서버일 경우 발생할 수 있는 문제를 해결하기 위해 카프카(kafka)를 적용하는 과정을 담은 글로,  https://khdscor.tistory.com/122에서 구현한 채팅 프로젝트로부터 코드가 이어진다.  Spring boot with React: STOMP를 통해 채팅 시스템을 구현해보자(With Mysql, MongoDB)(2)들어가기  이 글은 https://khdscor.tistory.com/121에서 이어진다. 여기선 의존성, Config 파일 등 세부적인 파일을 다루지 않고 바로 비즈니스 로직을 작성한 과정을 담았다. 이에 대해 궁금한 것은 이전khdscor.tistory.com 이전에 토이 프로젝트로 STOMP를 통해 Spring boot,.. 2024. 6. 17.
Spring boot with React: STOMP를 통해 채팅 시스템을 구현해보자(With Mysql, MongoDB)(2) 들어가기  이 글은 https://khdscor.tistory.com/121에서 이어진다. 여기선 의존성, Config 파일 등 세부적인 파일을 다루지 않고 바로 비즈니스 로직을 작성한 과정을 담았다. 이에 대해 궁금한 것은 이전 글을 참고하길 바란다.이 글에선 Mysql과 MongoDB과 함께 Spring boot와 React 연동 및 STOMP를 통한 간단한 채팅 시스템을 구현하는 과정을 작성하였다. 참고로 Spring boot 버전은 '3.2.5'이다.구현한 내용은 크게 3가지로 아래와 같다.1. 채팅방 리스트 조회, 새 채팅방 생성 2. 채팅방 별 이전에 작성한 채팅 리스트 조회3. 메시지 전송Mysql에는 채팅방 테이블만, MongoDB에는 채팅 내용 컬렉션만을 생성할 것이다.서번 단(Sprin.. 2024. 5. 17.
Spring boot with React: STOMP를 통해 채팅 시스템을 구현해보자(With Mysql, MongoDB)(1) 들어가기  Spring boot로 채팅방을 구현하는 프로젝트를 진행하려고 한다. 채팅방은 실시간으로 채팅 내용을 저장할 수 있게 데이터베이스에 저장하도록 생각하였다. 하지만 채팅내용이 보내질 때마다 데이터베이스에 저장을 하는 비용이 발생한다. 이를 위한 해결 방법으로는 메모리에 채팅 내용을 저장해 두고 스케줄링하여 일정 주기마다 데이터베이스에 Bulk Insert 하는 방식, RDB보다 데이터 접근 비용이 적은 NoSQL을 사용하는 방식 등이 있다.나는 두번째 방법을 선택하여 NoSQL 중 MongoDB를 사용하기로 하였다.처음 프로젝트 설정부터 연동 및 React 부분까지 두 개의 글로 나눠서 작성할 것이다.이 글에선 데이터베이스 연동 없이 Spring boot와 React 연동 및 STOMP를 통한 .. 2024. 5. 13.