


✔️소개
사용자가 시청한 뉴스에 대한 일련의 사건들을 놓치지 않도록 도와주는 서비스
✔️서비스 배경
혹시 궁금했던 뉴스에 대한 후속 뉴스를 보았던 경험이 있나요?
평상시 뉴스에 관심없이 지내다 보면 세상이 어떻게 흘러가는지, 다른 사람이 무엇을 이야기 하는지 모를 때가 종종있습니다.
이러한 정보들을 손쉽게 파악하고자 ”NEWNEWS”를 서비스하게 되었습니다.
✔️주요기능
시청한 뉴스 기반 후속보도 알림
- 사용자가 시청한 뉴스기록 저장
- 관련뉴스가 보도될 시 이를 사용자에게 알려줌
키워드와 관련된 일대기
- 사용자가 검색한 키워드에 해당하는 뉴스들을 큼지막한 주제를 기준으로 묶어 일대기 형식으로 보여줌
기대효과
- 시청한 뉴스에 대한 정보를 놓치지 않고 확인 가능
- 하나의 사건에 대해 쉽게 흐름 파악
- 왜곡된 정보흐름 차단
✔️구현 사항
- 뉴스 데이터를 크롤링 후 프로듀서를 통해 Kafka topic - [news]에 메시지 전송
- SparkStreaming으로 실시간 처리를 하고 foreachBatch를 이용하여 데이터를 배치 처리하여 HDFS와 DB에 적재합니다.
- Spark에서 TF-IDF, DBSCAN를 사용하여 다양한 뉴스 사이의 군집을 파악하여 검색어와 관련된 뉴스의 흐름을 편리하게 제공합니다.
- Spark에서 실시간으로 크롤링되는 데이터와 사용자가 읽은 뉴스 데이터 간 Cosine 유사도를 통해 연관 뉴스를 파악하여 제공합니다.
- Mysql에 저장한 뉴스들은 최대 3달까지 저장 후 삭제하여 최적화 하였습니다.
- Spring Security를 도입하여 비인증 사용자의 요청을 체계적으로 처리했습니다.
✔️담당 역할
DATA
데이터 파이프라인 서버 구축
뉴스 데이터를 크롤링 후 프로듀서를 통해 Kafka topic - [news]에 메시지 전송
SparkStreaming으로 실시간 처리를 하고 foreachBatch를 이용하여 데이터를 배치 처리하여 HDFS와 DB에 적재
Spark에서 전처리 된 뉴스 사이의 군집을 DB로 전달하여 검색어와 관련된 뉴스의 흐름을 편리하게 제공
INFRA
웹 훅 연결
젠킨스 설정
✨ Co-work tool ✨

🖥 개발환경