본문 바로가기

_class2

Spring boot With MongoDB - WebFlux를 통해 비동기적으로 MongoDB에 접근해보자. 들어가기 이전에 채팅방 채팅 내용을 저장하기 위해서 MongoDB를 사용해 본 적이 있었다. Gradle 의존성을 'spring-boot-starter-data-mongodb'로 설정하였었는데, 알고 보니 'spring-boot-starter-data-mongodb-reactive'라는 의존성이 따로 있었다.  이 두 의존성의 차이는 동기적으로 접근할 것인가, 비동기 적으로 접근할 것인가였다. 'reactive'가 추가된 의존성이 비동기 적으로 접근하는 것이다. 찾아보니 채팅 애플리케이션에서 채팅 내용을 저장하고 조회하는 기능은 실시간성(real-time)이 중요한 요소이기에, 비동기적인 처리가 더 적합할 수 있다고 한다. 이는 아래의 비동기 처리의 장점과 동기 처리의 단점을 통해 확인할 수 있다.  비.. 2024. 4. 23.
Spring boot with MongoDB - Spring Data MongoDB를 사용해보자. 들어가기 Springboot로 채팅방을 구현하는 프로젝트를 진행하려고 한다. 채팅방은 실시간으로 채팅 내용을 저장할 수 있게 데이터베이스에 저장하도록 생각하였다. 하지만 채팅내용이 보내질 때마다 데이터베이스에 저장을 하는 비용이 발생한다. 이를 위한 해결 방법으로는 메모리에 채팅 내용을 저장해두고 스케줄링하여 일정 주기마다 데이터베이스에 Bulk Insert 하는 방식, RDB보다 데이터 접근 비용이 적은 NoSQL을 사용하는 방식 등이 있다.나는 두번째 방법을 선택하여 NoSQL 중 MongoDB를 사용하기로 하였다.그러기 위해선 MongoDB에 대한 사용방법을 알아야 한다.이 글은 MongoDB에 대한 내용과 Spring boot 프로젝트에서 Spring Data MongoDB를 통해 데이터 저장, .. 2024. 3. 7.