오늘은 스터디에서 "실시간 시청자 수를 어떻게 대규모 환경에서 안전하게 집계할 것인가"를 주제로 공부함. 개인적으로 분산 처리나 전문 용어에 익숙해지기 위해, 논의되었던 핵심 설계 포인트들을 기록용으로 정리1. 단순 입/퇴장 로그 방식의 한계와 보완처음엔 사용자가 들어올 때(Join)와 나갈 때(Leave) 로그를 남겨서 그 차이를 구하면 된다고 생각했음. 하지만 실무에서는 비정상 종료(앱 강제 종료, 네트워크 단절) 시 '퇴장' 로그가 남지 않는 문제가 치명적임.이를 해결하기 위해 하트비트(Heartbeat) 개념을 도입함. 클라이언트가 주기적으로 "나 아직 보고 있어"라는 신호를 보내고, 서버는 이 신호가 끊기면 유효시간(TTL) 만료로 판단해 자동으로 인원수에서 제외함.2. 고가용성을 위한 데이터 ..
4.1 카프카 컨슈머4.1.1 컨슈머와 컨슈머 그룹컨슈머의 특징 중 하나는 병렬 처리가 가능하다. 컨슈머는 컨슈머 그룹(Consumer Group)을 구성해 여러 개의 컨슈머들이 동일한 토픽을 구독할 경우, 각각의 컨슈머는 해당 토픽에서 서로 다른 파티션의 메시지를 받는다.지연 시간이 긴 작업을 수행할 때, 컨슈머를 추가하여 단위 컨슈머가 처리하는 파티션과 메시지의 수를 분산시키는 것이 일반적인 규모 확장 방식이다.동작 방식: 토픽은 하나 이상의 파티션(Partition)으로 구성된다. 하나의 파티션은 특정 시점에 오직 하나의 컨슈머 그룹 내 단 한 명의 컨슈머에게만 할당될 수 있다. 컨슈머들은 각자 파티션을 하나씩 나눠 맡아 동시에 처리하므로 처리량이 극대화된다.성능과 한계: 처리량을 높이고 싶다면 컨..
Chapter 2 카프카 설치하기JAVA 설치OS: windows 11리눅스를 권장하고 있기 때문에 윈도우의 wsl을 사용해 ubuntu를 사용해 kafka를 설치합니다.wsl에 우분투 설치하는 방법은 이 블로그(https://hy2on.tistory.com/148)를 참고하였습니다.- powershell 관리자모드에서 wsl --install을 입력하여 설치 --> 제 경우엔 별도의 설정없이 Ubuntu 24가 설치됨- 'wsl --distribution Ubuntu' 또는 Ubuntu 앱으로 사용가능root 계정으로 들어간 뒤 'apt update'sudu su # root 계정 접속apt-get autoremove --purge # java 충돌을 피하기 위해 기존것 삭제 (본인 환경에 따라 조정)..
카프카 스터디의 일환이자 데이터 엔지니어링 스터디를 위한 기록입니다.Kafka 공식 문서: https://kafka.apache.org/documentation/Chatper 1 카프카 시작하기발행과 구독발행과 구독의 메시지 전달의 개념 이해하기. 전송자가 데이터를 보낼 때 직접 수신자로 보내지 않고 1) 메시지를 분류해서 보내고, 2) 분류된 메시지를 구독하는 형태임. 보통 중간에서 중계해주는 브로커가 있음발행자/전송자 = publish구독자/수신자 = subscribe간단한 시스템이라면 프론트엔드 서버의 모니터링 지표를 보낼때 단순하게 구조화할 수 있다. 하지만 장기간에 걸쳐 여러 지푯값을 분석하고, 서비스가 증가할수록 관리하기가 어려워짐 따라서, 모든 애플리케이션으로부터 지표를 받는 하나의 애플리케..
- Total
- Today
- Yesterday
- TextRank
- AWS
- Vue3
- Claude
- KnowgedgeGraph
- vscode
- PEFT
- LLM
- python
- pandas
- knowlegegraph
- docker
- MongoDB
- vectorsearch
- polars
- 지식그래프
- Postgis
- ontology
- PostgreSQL
- 키워드추출
- rdflib
- SPARQL
- Encoding
- graphrag
- RDF
- hadoop
- text2sparql
- knowledgegraph
- Kafka
- ChatGPT
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |