본문 바로가기

photogram2

Photogram 태그 기반 게시글 검색 기능 Post는 N개의 태그를 가질 수 있도록 설계를 하였다.tag는 중복된 이름이 많을 것을 대비해, 기존의 태그를 사용할 수 있도록 post와 tag 사이 post_tag라는 중간 테이블을 추가하였다.  RDB 기반 태그 검색의 장점과 한계실제 테스트를 위해 약 100만 건의 데이터를 대상으로 RDB와 Elasticsearch의 검색 속도를 비교해본 결과, RDB 쪽이 더 빠른 성능을 보였다.(물론 이는 내가 아직 Elasticsearch를 완전히 최적화하지 못했기 때문일 수도 있다.)하지만, 다음과 같은 상황에서는 RDB 방식에 한계가 있었다.부분 검색 (LIKE '%태그%')→ 인덱스를 활용하지 못해 검색 속도가 급격히 느려짐철자가 조금씩 다른 경우→ 예: "운!동", "운 동", "운동기록" 등연관 .. 2025. 4. 13.
Photogram 아키텍처 Photogram은 Instagram을 모티브로 한 SNS 서비스로, 대규모 트래픽 처리와 MSA 구조 학습을 목적으로 만든 개인 프로젝트이다.실무에서 자주 사용하는 구조와 기술들을 직접 설계하고 구현하면서 아키텍처 감각을 키우는 것이 이 프로젝트의 목표이다.https://github.com/setung/photogram목표MSA 구조 설계 및 구현Kafka 기반 이벤트 처리 경험ElasticSearch를 활용한 태그 기반 검색시스템 설계 및 트래픽 처리 구조 학습기술 스택BackendSpring Boot (Kotlin), Spring CloudDBMySQL, RedisMessagingKafkaSearchElasticSearchStorageAWS S3EmailAWS SESInfraConfig Server.. 2025. 4. 13.
728x90