일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 깊게 생각해보기
- spring event
- 디버깅
- next-stock
- 프로그래머스
- 검색어 추천
- 아키텍쳐 개선
- 백준
- jwt 표준
- 결제서비스
- BFS
- JPA
- 누적합
- 추천 검색 기능
- 객체지향패러다임
- 쿠키
- 트랜잭샨
- piplining
- gRPC
- 몽고 인덱스
- 크롤링
- docker
- 구현
- 레디스 동시성
- 카카오
- 셀러리
- 완전탐색
- ipo 매매자동화
- AWS
- 이분탐색
- Today
- Total
목록2025/03 (3)
코딩관계론
주식 종목 자동 완성 기능 개선 및 Elasticsearch 활용기존에는 RDB(Relational Database) 기반으로 주식 종목 자동 완성 기능을 구현했으나, 이 방식에서는 오타 교정 기능이 기본적으로 제공되지 않기 때문에, 추가적인 비즈니스 로직을 개발해야 하는 부담이 있었다. 이에 따라 **Elasticsearch(이하 ES)**의 Fuzzy 검색 기능을 활용하여 보다 효율적인 자동 완성 시스템을 구축하기로 결정했다.또한, 향후 나스닥(NASDAQ) 종목까지 지원하게 될 경우, 대규모 데이터 처리를 위한 역색인(Inverted Index) 기반의 검색 시스템이 필수적이므로, 확장성을 고려하여 ES를 도입했다.1. 검색어 자동 완성 기능 벤치마킹우선, 주요 검색 시스템들이 자동 완성을 어떻게 ..
기존에는 뉴스 문서의 빠른 검색과 다양한 기능 제공을 위해 데이터베이스(DB)를 사용했으나, 성능과 확장성 측면에서 한계를 느껴 엘라스틱서치(Elasticsearch)를 도입하기로 했습니다.기본적으로 텍스트 검색은 대부분의 DB가 지원하며, 개발자가 직접 구현할 수도 있지만, 효율적이고 빠른 검색을 위해 전문 검색 엔진을 사용하는 것이 더 효과적입니다.1. 엘라스틱서치(Elasticsearch)란?엘라스틱서치는 검색과 분석을 위해 설계된 분산형 RESTful 검색 엔진입니다.Lucene 기반: 내부적으로 Apache Lucene 라이브러리를 사용해 텍스트를 색인하고 검색합니다. 강력한 전문 검색 기능을 제공합니다.분산 처리: 대규모 데이터를 효율적으로 처리하기 위해 여러 노드에 데이터를 샤딩(shardi..

시스템 구조 및 배경이전 시스템 설계에서는 뉴스 데이터를 처리하는 서버가 단일 인스턴스로 구성되어 있었습니다. 이 때문에 Java의 ConcurrentHashMap을 이용한 간단한 동시성 처리 방식만으로도 어느 정도 운영이 가능했습니다. 그러나 파이썬에서 GPT API를 호출하는 결과와 자바에서 GPT API를 호출하는 결과에 차이가 생기면서, 추가적인 처리 로직을 자바 서버 쪽에서 담당해야 했습니다. 이 변화로 인해 단일 서버가 감당할 수 있는 동시성 처리의 한계가 명확히 드러났습니다. 아래 글은 서버 스케일아웃(확장) 작업 중 발생한 여러 문제를 해결해 나가는 과정(트러블슈팅)에 대해 정리한 내용입니다. 기존 단일 서버 환경에서 처리하던 뉴스를 대규모로 확장하고, 각 단계별로 분산 처리를 도입하면서 ..