일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- http
- Consumer
- command
- topic
- tls disable
- Kafka
- es
- Kafka Connect
- Helm
- Kubernetes
- eck
- Elk
- loadbalance
- kibana
- Message
- consumer group
- minikube
- broker
- Produce
- Golang
- offset
- elastic
- Producer
- create topic
- k8s
- kafka broker
- kafka-connect
- partition
- 쿠버네티스
- ElasticSearch
- Today
- Total
목록Golang (2)
개발자의 개발괴발

consumer group은 마치 하나의 consumer가 동작하는 것 처럼 보이게 한다.consumer group이 하나가 있다. 이 consumer group에는 두 개의 consumer가 있다. 이때 이 두 consumer가 하나의 topic(파티션이 3개)에서 데이터를 가져온다면 아래 그림처럼 동작할 것이다. Topic에 데이터가 저장이 된 다는 것은 정확하게는 Topic 안의 partition에 저장이 된다. consumer는 이 토픽의 각 partition들을 나눠서 담당한다. consumer는 여러개의 partition을 담당할 수 있다. 그러나 partition은 단 하나의 consumer와 일을 한다. 위 그림처럼 partition의 수가 더 많으면 consumer가 두개 이상의 part..
토픽을 만들기 위해선 Admin client를 이용해야 한다.admin, err := kafka.NewAdminClient(&kafka.ConfigMap{"bootstrap.servers": "localhost:9092"})위와 같이 새로운 admin client를 생성한다.config에는 bootstrap.servers 항목만 추가해준다.localhost:9092로 포트포워딩 해놓았으니 bootstrap.servers를 localhost:9092로 설정한다. 로컬에서 kafka client를 실행시켜 myTopic이라는 topic을 하나 생성해보자.이때 토픽의 파티션은 20개, replication factor는 3개로 하자.(replication factor는 broker의 수를 넘을 수 없음)아래 ..