티스토리 뷰
1. Kafka의 이해
Kafka란 단어를 들어본 사람도 있고, 들어보지 못한 사람도 있을 겁니다.
Kafak를 쉽게 풀어서 설명하면, 저희가 시스템 사용 시 발생하는 이벤트 로그나 시스템 로그를
처리 해주는 시스템 입니다.
2. Why Kafka ?
저희가 일반적으로 로그를 관리 할 때 생기는 문제점이 있습니다.
일반적으로 소규모 프로젝트나 서비스의 갯수의 적은 프로젝트 같은 경우에는
로그를 수집함에 있어서 과부하나 복잡도가 상대적으로 낮습니다. 그래서 로그
를 관리 하기가 생각보다 간편해요. 그렇지만 서비스의 갯수가 늘어나고
관리할 시스템이 많아지고 복잡해지면 그만큼 로그 수집도 복잡해집니다.
그래서 중앙에서 Log를 관리해줄 시스템이 필요해졌어요. 그게 바로 Kafka입니다.
간단하게 말해서 서비스 사용 중 발생하는 이벤트나 로그들을 Kafka를 통해서
중앙관리를 하기 위해서 라는게 Why Kafka에 대한 대답이 될 수 있겠네요.
3. How to Use
실제로 사용하기에 앞서서, 주요한 항목들만 짚고 갈게요 나머지 항목들은 kafka를 구축하면서
배우는 편이 훨씬 나을 거 같아요.
해당 아키텍쳐는 Kafka를 구성하는 형태에 대해서 잘 정리된 사진이에요
여기서 주요한 요소인 Partition 과 Topic만 간단하게 짚고 갈게요
Partition은 Data가 쌓일 저장소 개념이에요. 모든 데이터들은 들어온 순서대로 쌓이게 돼요
해당 Partition과 연결되어 데이터를 읽을 서비스를 Consumer 라고 하는데 하나의 Partition은
하나의 Consumer에만 데이터를 제공 할 수 있어요 가장 중요한점은 사전 설계 단계에서
사용할 Consumer의 갯수만큼 Partition을 만들어두고 진행 하는게 좋아요. 왜냐면 Partition은
늘릴 순 있지만, 줄일 수 는 없거든요 ..
끝이에요. 이글을 읽으시는 여러분은 저 처럼 Kafka를 처음으로 접한 상태라고 생각해요. 앞으로 추가 포스팅을 통해서
좀 더 디테일하게 살펴볼게요.
- Total
- Today
- Yesterday
- elasticSearch
- MSA
- ACTUATOR
- consumer
- Logstash 활용
- producer
- Gateway
- 루틴기록
- 오늘저녁 삼겹살
- UserService
- MariaDB
- rabbitmq
- zipkin
- 미래의나에게동기부여
- 운동
- github
- springcloud
- Feign
- docker
- 운동일기
- Spring + ELK
- prometheus
- JWT
- git
- Logstash to ElasticSearch
- config
- 빅-오
- kafka
- LoadBalancer
- Kafka Connect
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |