전체 글172 머신러닝 시스템 설계 - 유튜브 동영상 검색 시스템 이번 글에서는 머신러닝을 활용한 유튜브 동영상 검색 시스템을 설계합니다. 머신러닝 모델 개발/평가보다는 서빙 아키텍처에 대하여 주로 이야기합니다. 해당 내용은 '가상 면접 사례로 배우는 머신러닝 시스템 설계 기초' 4장 유튜브 동영상 검색을 참고하였고 개인 경험을 추가하였습니다. 목차 0. 유튜브 동영상 검색 시스템이란? 1. 요구사항 구체화 2. 머신러닝 작업으로 문제 구조화 2.1. 머신러닝 목표 정의 2.2. 시스템의 입력 및 출력 2.3. 적합한 머신러닝 유형 선택 2.3.1. 텍스트 검색 2.3.2. 시각 검색 3. 데이터 준비 3.1. 데이터 엔지니어링 3.2. 피처 엔지니어링 4. 모델 개발 5. 서빙 5.1. 예측 파이프라인 5.2. 동영상 인덱싱 파이프라인 5.3. 텍스트 인덱싱 파이프.. 2024. 4. 14. 머신러닝 시스템 설계 - 이미지 검색 시스템 (feats. 핀터레스트) 이번 글에서는 머신러닝을 활용한 이미지 검색 서비스가 무엇인지 알아보고, 간단한 시스템을 설계를 합니다. 최종 시스템 설계는 글의 6. 서빙 부분을 참고해 주세요. 해당 내용은 '가상 면접 사례로 배우는 머신러닝 시스템 설계 기초' 2장 시각 검색 시스템을 참고하여 작성되었고 개인 경험을 추가하였습니다. 목차 0. 이미지 검색 시스템이란? 1. 요구사항 구체화 2. 머신러닝 작업으로 문제 구조화 3. 데이터 준비 3.1. 데이터 엔지니어링 3.2. 피처 엔지니어링 4. 모델 개발 4.1. 모델 선택 4.2. 모델 훈련 5. 평가 5.1. 오프라인 지표 5.2. 온라인 지표 6. 서빙 6.1. 예측 파이프라인 6.2. 인덱스 파이프라인 6.3. 최근접 이웃 알고리즘의 성능 7. 추가 논의 주제 마치며/Re.. 2024. 3. 31. 프로메테우스, 데이터독과 유사한 모니터링/알람 시스템 설계 1. 초기 설계안 이번 글에서는 모니터링/알람 시스템이 무엇인지 알아보고, 직접 시스템 설계를 한다는 가정하에 요구사항을 구체화하고 초기 설계안에 대해 설명하고자 합니다. 해당 내용은 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2의 5장 지표 모니터링 및 경보시스템 참고하여 작성되었습니다. 목차 1. 서론 1.1. 지표 모니터링 및 경보 시스템의 중요성 1.2. 대규모 시스템에서의 역할 및 가치 1.3. 대표적인 지표 모니터링/알람 시스템 2. 설계에 앞서 아키텍처 이해와 문제 범위 정하기 2.1. 요구사항 구체화 2.2. 요구사항 정리 3. 5가지 컴포넌트 / 데이터와 데이터베이스 선택 / 개략적인 설계안 3.1. 5가지 컴포넌트 3.2. 데이터 모델 3.3. 데이터 접근 패턴 3.4. 데이터 저장소 시스템 3... 2024. 3. 16. 주니어 백엔드 개발자가 서비스/서버 운영하며 배운 몇 가지 이번 글에서는 서비스를 운영하며 겪었던 몇 가지 경험을 공유하려 합니다. 해당 글은 개인적인 경험과 책 을 참고하여 작성했습니다. 자기소개 문제는 피할 수 없다: 서비스 운영의 현실 Case 1. 타임아웃(timeout) Case 2. 빠른 실패 Case 3. 서킷 브레이커 (circuit breaker) Case 4. 데이터 정리하기 Case 5. 로드밸런싱과 스케일 아웃 Case 6. 서비스 재시작하기 Case 7. 인프라 자동화 도구를 조심하자 (조속기를 활용하자) 마치며: 처음 운영했던 때처럼 자기소개 안녕하세요. 저는 특정 도메인 커머스 플랫폼에서 회사에서 추천 서비스, AB 테스트, 어드민 관리 등을 담당하는 개발자입니다. 업무 특징상 앱 실행 초기 팝업부터 메인 페이지 추천, 상품 상세 페.. 2024. 3. 2. 분산 메시지 큐 시스템 설계 1. 분산 메시지큐 주요 기능, 컴포넌트 설명과 초기 설계안 이번 글에서는 분산 메시지 큐가 무엇인지 알아보고, 분산 메시지 시스템 설계를 한다는 가정하에 요구사항을 구체화하고 초기 설계안에 대해 설명하고자 합니다. 해당 내용은 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2의 4장 분산 메시지 큐를 주로 참고하여 작성되었습니다. 목차 1. 서론 1.1 분산 메시지 큐의 중요성 1.2 분산 메시지 큐의 장점 / 단점 1.3 메시지 큐 vs 이벤트 스트리밍 플랫폼 2. 설계에 앞서 2.1 요구사항 구체화 하기 2.2 기능 및 비기능 요구사항 정리 3. 주요 기능 / 컴포넌트 3.1 메시지 모델 (일대일 모델 / 발행-구독 모델) 3.2 토픽, 파티션, 브로커 3.3 소비자 그룹 3.4 초기 설계안 4. 마치며, 다음 글에서 Reference 1. 서론 1.1 .. 2024. 2. 18. AWS ElastiCache for Redis에서 발생한 Network bandwidth out allowance exceeded와 대처 방안 최근 신규 프로젝트 개발을 마치고 릴리즈를 앞두고 있었습니다. 릴리즈 전 부하테스트를 하다 AWS ElastiCache for Redis에서 네트워크 대역폭의 허용 범위를 넘게 되었는데요. 겪었던 문제와 해결한 경험을 가볍게 소개드리려 합니다. 목차 1. 네트워크 대역폭이란? - 네트워크 대역폭의 기본 개념 - AWS ElastiCache for Redis에서의 대역폭 중요성 2. Network Bandwidth Out Allowance Exceeded의 의미 - AWS ElastiCache for Redis 인스턴스 스펙 - Baseline bandwidth vs Burst bandwidth 3. 해결 방법 - 데이터 압축 - 요청 딜레이 적용 - 스케일업 및 스케일 아웃 마치며 Reference 1... 2024. 1. 21. 이전 1 2 3 4 ··· 29 다음