일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Elk
- Golang
- gorm
- minikube
- kafka broker
- Kafka Connect
- consumer group
- Kubernetes
- Message
- Consumer
- Produce
- k8s
- tls disable
- Helm
- 쿠버네티스
- ElasticSearch
- topic
- eck
- kafka-connect
- docker
- broker
- Kafka
- go
- gortsplib
- loadbalance
- gin
- go test
- kibana
- http
- create topic
- Today
- Total
목록broker (4)
개발자의 개발괴발
1MB가 넘는 message를 produce하니 produce가 안된다.(Broker: Message size too large)에러메세지를 확인해보니 Message size too large 라는 메세지가 나온다.producer에서 보낼 수 있는 message.max.bytes가 기본값이 1MB이다.보내는 메세지가 2MB라고 생각하고 넉넉히 3MB로 늘려주겠다.produce하는 코드에서 config만 추가해주자. p, err := kafka.NewProducer(&kafka.ConfigMap{ "bootstrap.servers": "127.0.0.1:9095", "message.max.bytes": 3 * 1024 * 1024, // 3MB로 변경 }) if err != nil { panic(e..
kafka topic의 데이터는 일반적인 파일로 저장이 된다. 파일로 저장되기 때문에 disk 용량을 차지하게 된다.데이터의 양이 많을 경우 disk가 꽉 차서 문제가 되기도 한다.그래서 kafka broker는 토픽에 대한 retention time, retention byte 등의 옵션을 제공한다.retention 관련 옵션은 얼마 기간동안까지 topic 데이터를 유지할지, 어느정도 데이터의 양을 유지할지를 정한다.먼저 환경을 미리 만들어 두었다.configTopic이라는 topic을 만들고 여기에 110MB 정도의 데이터를 producing해두었다. 1kb 짜리 토픽을 110 * 1024번 producing 해두었다.topic에 필요한 config도 미리 설정해두었다.topic을 describe해보..

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의 수를 넘을 수 없음)아래 ..