public static KafkaCluster Create(int brokers, string[] topics) { var cluster = new KafkaCluster(); cluster.Brokers = Enumerable .Range(11223, brokers) .Select(x => new TestBroker(cluster) { Port = x }) .ToArray() ; topics.ForEachX((x, i) => cluster.Brokers.RandomOrderedX().First().AddTopicPartition(x, i)); cluster.Start(); return cluster; }
public TestBroker(KafkaCluster kafkaCluster) { _KafkaCluster = kafkaCluster; _MessageHandlers = new Dictionary <ApiKeyEnum, Func<byte[], BaseResponse>> { {ApiKeyEnum.Metadata, MetadataHandler}, {ApiKeyEnum.Produce, ProduceHandler}, {ApiKeyEnum.Fetch, FetchHandler}, }; }