func cmdBenchmarkGet() error { if len(globalZkList) == 0 { return errors.NotValidf("zookeeper list") } if len(globalTopic) == 0 { return errors.NotValidf("Topic") } message := make(chan *go_kafka_client.Message) consumConfig := go_kafka_client.DefaultConsumerConfig() consumConfig.Groupid = "BenchmarkGroup-Test" consumConfig.AutoOffsetReset = go_kafka_client.SmallestOffset zkConfig := go_kafka_client.NewZookeeperConfig() zkConfig.ZookeeperConnect = strings.Split(globalZkList, ",") consumConfig.Coordinator = go_kafka_client.NewZookeeperCoordinator(zkConfig) consumConfig.Strategy = func(_ *go_kafka_client.Worker, msg *go_kafka_client.Message, id go_kafka_client.TaskId) go_kafka_client.WorkerResult { message <- msg return go_kafka_client.NewSuccessfulResult(id) } consumConfig.WorkerFailureCallback = func(_ *go_kafka_client.WorkerManager) go_kafka_client.FailedDecision { return go_kafka_client.CommitOffsetAndContinue } consumConfig.WorkerFailedAttemptCallback = func(_ *go_kafka_client.Task, _ go_kafka_client.WorkerResult) go_kafka_client.FailedDecision { return go_kafka_client.CommitOffsetAndContinue } consumer := go_kafka_client.NewConsumer(consumConfig) topicCountMap := make(map[string]int) topicCountMap[globalTopic] = 1 go consumer.StartStatic(topicCountMap) time.Sleep(2e9) bt := utils.NewBenchmarkTester(globalConcurrentLevel, globalDuration, func(bt *utils.BenchmarkTester, index int) error { <-message return nil }, nil) return errors.Trace(bt.Run()) }
func main() { flag.Parse() if *zkConnect == "" || *blueTopic == "" || *blueGroup == "" || *bluePattern == "" || *greenTopic == "" || *greenGroup == "" || *greenPattern == "" { flag.Usage() os.Exit(1) } blue := kafka.BlueGreenDeployment{*blueTopic, *bluePattern, *blueGroup} green := kafka.BlueGreenDeployment{*greenTopic, *greenPattern, *greenGroup} zkConfig := kafka.NewZookeeperConfig() zkConfig.ZookeeperConnect = []string{*zkConnect} zk := kafka.NewZookeeperCoordinator(zkConfig) zk.Connect() zk.RequestBlueGreenDeployment(blue, green) }