■ MySQL

니들이 글을 싸면 documents 라는 데이터베이스 테이블에 저장됨

보통 제목, 내용 이런게 다 들어가는데

십덕 검색조건이 제목,내용,제목+내용,작성자 이런식임


원래 귀찮아서 fulltext index로 구성했는데 한글 특성상 2글자 검색이 병맛 및 오버헤드라 제대로 검색이 안됨


■ Debezium, Kafka, ES Sink Connector, Elasticsearch


아 내가 왜 이런 똥사이트에 이런거까지 적용했을까

이왕하는거 fm으로 하자 해서 구성하는데 이거 운영서버에 바로 적용하다 뻑나면 1주일동안 십덕 못올릴거 같아서

스테이지 서버 구성함


아무튼

데베지움: mysql에서 데이터 변한거 추적

카프카: 데베지움에서 추적한걸 ES에 쏴주는 역할

커넥터: 직접 mysql에 붙고 es에 붙는 역할

es: 검색엔진


■ Spring Boot

검색이냐 게시글 조회냐를 구분지어서 검색이면 es를 타서 게시글 id를 가져옴

그걸 mysql에 재쿼리해서 결과를 가져옴.

걍 es에서 직접 가져와도 되지만, 조회수를 레디스로 관리해서 이런 짓을 해야함


■ Vue.js

검색창 입력 → API 호출

검색 결과 리스트 보여줌

필터링/페이지네이션 지원


■ 전체 흐름 요약


글 쌈

MySQL

Debezium

Kafka

ES Sink Connector

Elasticsearch

Spring Boot

Vue.js



아 쓰고보니 너무 힘들었다


직업병이라 제대로 안하면 계속 생각나서 다음 단계로 못나가는듯.


죽은 십덕 살리려면 할게 많은데 아무튼 조만간 좀 신박한거 많이 생길거임