프로그래밍(Web)/업무관련
[바미] Golang sarama예제로 Kafka 연동하기(interceptors).
Bami
2021. 2. 9. 15:36
728x90
반응형
728x170
예제는
Shopify/sarama
Sarama is a Go library for Apache Kafka 0.8, and up. - Shopify/sarama
github.com
여기의 코드를 사용했습니다.
먼저 제가 사용한 부분은
github.com/Shopify/sarama/tree/master/examples/interceptors
Shopify/sarama
Sarama is a Go library for Apache Kafka 0.8, and up. - Shopify/sarama
github.com
부분인데
그러기 위해서는 일단 go.mod 파일을 수정해 줄 필요가 있었습니다.
module github.com/Shopify/sarama/examples/interceptors
go 1.15
replace github.com/Shopify/sarama => ../../
require (
github.com/Shopify/sarama v1.27.0
go.opentelemetry.io/otel v0.10.0
go.opentelemetry.io/otel/exporters/stdout v0.10.0
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940 // indirect
)
아마 이런식으로 되어 있을텐데
제 쪽에 맞게 해당 폴더를 Go Path 폴더에 옮긴 뒤
module interceptors
go 1.15
replace github.com/Shopify/sarama => ../../
require (
// module/path v1.2.3
github.com/Shopify/sarama v1.27.0
go.opentelemetry.io/otel v0.10.0
go.opentelemetry.io/otel/exporters/stdout v0.10.0
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940 // indirect
)
이런식으로 바꾸어 주었습니다.
그런 뒤
PC나 Linux환경에서 Zookeeper 실행 후 Kafka 실행 한 뒤, Topic을 생성해줍니다.
그 후
go run main.go trace_interceptor.go -brokers="localhost:9092" -topic="cbsong"
이렇게 VScode 터미널 창에 입력하면 실행됩니다.
code에 flag가 있어서 저렇게 뒤에 -brokers, -topic이라고 넣어주어야 합니다.

그렇게 하면 위와 같이 메세지가 뜰텐데 저 JSON값들이 어디서 설정 되어진 값인지 찾아봐도 모르겠습니다...
그 후 명령프롬프트 창에서 Customer로 들어가면 아래와 같이 알려줍니다.

TraceID 값은 계속 변하면서 나오는데 각각의 값들이 어떤 역할을 하는지 알아보아야겠습니다.
728x90
반응형
그리드형