项目作者: teamseodo

项目描述 :
Higher level abstraction for Sarama.
高级语言: Go
项目地址: git://github.com/teamseodo/kafka-do.git
创建时间: 2021-07-06T15:49:22Z
项目社区:https://github.com/teamseodo/kafka-do

开源协议:MIT License

下载


kafka-do



v0.3.4



kafka-do

Go Reference

What

Higher level abstraction for franz-go.

Why

We want to be able to write our kafka applications without making the same things over and over.

Batch Consume
Consume messages as much as you defined.

Batch Produce
Produce messages as a batch to a topic.

Example

For e2e example, check here.

  1. producer, err := kafka.NewProducer("127.0.0.1:9092")
  2. if err != nil {
  3. log.Fatal(err)
  4. }
  5. defer producer.Close()
  6. producer.Produce(context.Background(), []kafka.Message{
  7. kafka.Message("message 1"),
  8. kafka.Message("message 2"),
  9. kafka.Message("message 3"),
  10. kafka.Message("message 4"),
  11. }, "messages")
  12. consumer, err := kafka.NewConsumer("kafka_do", []string{"messages"}, []string{"127.0.0.1:9092"})
  13. if err != nil {
  14. log.Fatal(err)
  15. }
  16. defer consumer.Close()
  17. messages, errs := consumer.ConsumeBatch(context.Background(), 2)
  18. for _, message := range messages {
  19. log.Println(message)
  20. }
  21. for _, err := range errs {
  22. log.Println(err)
  23. }

Development

To run tests, start a kafka that runs on “:9092”.

  1. go test ./... -v -cover -count=1 -race