Kafka 설계하기 - Bockerl편

의혁·2025년 1월 26일
0

[Kafka] 카프카 학습

목록 보기
2/6
post-thumbnail

💡 Kafka 설계 과정을 기록하여 보자

개요

이번 "SNAIL"이라는 "외국인(다문화 가정)을 위한 한국 정착 지원 어플리케이션"을 기획하게 되었습니다.
이 어플리케이션은 커뮤니티 게시판, 모임, 채팅등 많은 기능들로 구성되어 있고, 많은 트래픽을 처리해야 합니다. (인증, 채팅 등)
또한, 향후 운영적인 측면에서 MSA와 Kafka를 통한 대용량 데이터 처리에 대한 경험을 키워보고자 선정하게 되었습니다.


기존 ERD 구조를 분리하기

채팅

회원

게시글

모임

챗봇

알림

파일

  • 팀원들과 회의를 거쳐서 백엔드 개발 전 1차적으로 완성한 ERD 구조이다.
  • 각각 볼륨이 크기도 하여서 2개에서 3개정도로 분리할 생각이다.
  • 구조를 살펴보면 일단, 채팅, 회원, 챗봇은 필수적으로 떼어내어야 하지 않을까 생각이 든다.

MSA 구조 설계


Kafka 구조 설계

이번 프로젝트에서는 DB를 여러개 사용한다. 기존 DB를 postgresql을 사용하고, 채팅에서는 MongoDB, 챗봇에서는 VectorDB을 사용한다. 또한 조회 성능을 올리기 위해서 Elasticsearch를 사용하기 때문에 총 4개의 DB를 사용하게 된다.

https://www.inflearn.com/community/questions/1062335/msa%EC%97%90%EC%84%9C-%EC%B9%B4%ED%94%84%EC%B9%B4-%EC%82%AC%EC%9A%A9?srsltid=AfmBOoqHVRt5PhKUrXTws_tJdhFEKfcKyV16RRz3QN05wgOgOrgIjSt9

profile
매일매일 차근차근 나아가보는 개발일기

0개의 댓글