Skip to content

Lotte-Danuri/Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat

Spring MVC + MongoDB

  • 이커머스 속 채팅

    생활 속 오프라인 쇼핑에서는 대화를 통한 고객 응대와 구매, 판매가 이뤄지게 됩니다. 하지만 온라인 이커머스는 오프라인에서 해주는 만큼의 고객 응대 서비스를 제공하기 어렵습니다. 가령 오프라인 매장에서는 점원이 상품을 추천해주거나, 고객 정보를 기반으로 구매를 도와줄 수 있습니다. 그러나 비대면 서비스가 기본이 되는 이커머스 업체는 고객의 상황에 따른 즉각적인 대응이 불가능합니다. 따라서 이커머스와 채팅의 결합을 통해 온라인 이커머스의 태생적 한계를 돌파하고자 했습니다.

    11톡, 톡집사, 네이버 톡톡 등 다양한 이커머스에서 고객응대를 위한 채팅 서비스를 제공하지만, 대부분 고객센터와의 연결과 구매 정보 제공만이 이뤄집니다. 따라서 점원 연결, 맞춤 상품 추천, 쿠폰 제공 등 실제 오프라인 고객응대 만큼의 서비스를 제공을 통해 채팅을 통한 구매가 이뤄질 수 있게 하고자 개발했습니다.

  • 채팅에서의 Nosql과 MongoDB

    채팅방 Document 구조

    채팅방 Document 구조

    채팅을 설계하며 Document 구조를 가진 MongoDB를 사용함으로써 두가지 이점을 가져왔습니다.

    확장성

    메세지, 이미지와 같은 채팅으로서의 핵심 기능뿐만 아니라 쿠폰, 추천, 상품 정보 등 확장성을 고려한 설계를 통해 이커머스에서 제공 할 수 있는 여러 서비스와 결합 수 있어야 합니다. 이는 MongoDB의 Doucment 구조 속 Object 자료형을 활용하는 설계를 통해 해결하고자 했습니다.

    처리 속도

    채팅은 주로 데이터 변경 보단 쓰기, 읽기 위주의 처리가 일어나고 빠른 처리 속도를 필요로 하기 때문에 실시간 채팅이 이뤄지기 위해선 데이터 입출력 속도를 고려한 설계를 해야 합니다. 따라서 Document 구조의 Array속 에 채팅 메세지 데이터를 담음으로써 복잡한 조인 연산이 이뤄지지 않게 설계해 입출력 속도를 높였습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •