본문 바로가기
Spring

[TIL] 240508 MongoDB 적용하기 | 채팅 DB MySQL에서 MongoDB로 변경

by studymode 2024. 5. 8.

- 채팅 DB를 MySQL에서 MongoDB로 변경

 

 

서버리스 어플리케이션

특징

  • 서버리스 컴퓨팅은 개발자가 서버를 관리할 필요 없이 애플리케이션을 실행할 수 있는 컴퓨팅 모델
  • 전통적인 서버 기반의 아키텍처에서는 애플리케이션을 실행하기 위해 개발자가 직접 서버를 프로비저닝하고 관리해야 했다.
  • 하지만 서버리스에서는 이러한 서버 관리 작업을 클라우드 제공 업체가 대신 처리한다.

 

장점

  1. 확장성
    • 서버리스 애플리케이션은 필요에 따라 자동으로 확장됨
    • 사용량이 증가하면 클라우드 제공 업체가 자동으로 추가 리소스를 할당하여 응답
  2. 요금 청구 방식
    • 사용한 만큼만 비용을 지불하므로 비용이 효율적
    • 사용하지 않는 시간에는 서버가 비활성화되므로 리소스를 낭비하지 않는다
  3. 운영 부담 감소
    • 서버 관리에 대한 부담이 줄어든다
    • 개발자는 코드 작성에만 집중하면 되므로 운영 작업을 최소화할 수 있다

 


 

MongoDB Atlas 사용법

Spring Boot 애플리케이션에서 MongoDB Atlas 사용하기:

  1. 의존성 추가

        🔽 build.gradle

    //mongodb
    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
    implementation 'org.mongodb:mongodb-driver-sync:4.11.1'

 

   2. application.properties 설정

 

        <username>, <password>, <cluster>, <database> 정보 입력

 

        🔽 application.properties

spring.data.mongodb.uri=mongodb+srv://<username>:<password>@<cluster>/<database>?retryWrites=true&w=majority

 

 

 

    3. Spring Data MongoDB Repository 생성

        

        🔽 ChatRepository.java

import org.springframework.data.mongodb.repository.MongoRepository;

public interface ChatRepository extends MongoRepository<Chat, Long> {
  //쿼리 메서드
  
}

 

 

   4. 엔티티 클래스 생성

       MongoDB 컬렉션과 매핑되는 엔티티 클래스를 생성

       mongodb는 @Dcoument어노테이션을 사용

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "chats")
public class Chat {

  @Id
  private ObjectId id;//chat 아이디

  private Long roomId;//채팅방

  private Long senderId;//chat을 보낸 사람

  private Long receiverId;//chat을 받는 사람

  private String content;//채팅 내용

  private LocalDateTime createdAt;

}

 

 


 

Whitelist 추가

Whitelist에 IP를 추가하여 접근할 수 있도록 설정하여,

등록된 IP 주소만이 MongoDB Atlas 클러스터에 액세스하고,

외부 접속은 차단하여 시스템 안정성을 높일 수 있다.

 

MongoDB Atlas에 Whitelist 추가하기:

  1. MongoDB Atlas 대시보드에 로그인
  2. 해당 클러스터를 선택하고 "Network Access" 섹션으로 이동
  3. "Add IP Address"를 클릭하여 허용할 IP 주소를 추가
  4. "Confirm"을 클릭하여 변경 사항을 저장