关于kafka相关架构及应用场景等,请见笔者相关文章。
1.消费kafka消息
package main
import (
"fmt"
"github.com/Shopify/sarama"
cluster "github.com/bsm/sarama-cluster"
"time"
)
var (
kafkaConsumer *cluster.Consumer
kafkaBrokers = []string{
"127.0.0.1:9092"}
kafkaTopic = "test_topic_1"
groupId = "csdn_test_1"
)
func init() {
var err error
config := cluster.NewConfig()
config.Consumer.Return.Errors = true
config.Group.Return.Notifications = true
config.Consumer.Group.Rebalance.Strategy = sarama.BalanceStrategyRange
config.Consumer.Offsets.Initial = -2
config.Consumer.Offsets.CommitInterval = 1 * time.Second
config.Group.Return.Notifications = true
kafkaConsumer, err = cluster.NewConsumer(kafkaBrokers, groupId, []string{
kafkaTopic}, con