static void Main(string[] args) { const string topicName = "test"; var options = new KafkaOptions(new Uri("http://localhost:9092")); Task.Run(() => { //创建一个消费者 var consumer = new Consumer(new ConsumerOptions(topicName, new BrokerRouter(options))); foreach (var data in consumer.Consume()) { Console.WriteLine("Response: PartitionId={0},Offset={1} :Value={2}", data.Meta.PartitionId, data.Meta.Offset, data.Value.ToUtf8String()); } }); Console.ReadLine(); }
public static async Task <IProducer> CreateProducerAsync(this KafkaOptions options) { return(new Producer(await options.CreateRouterAsync(), options.ProducerConfiguration, false)); }
public static Task <IGroupConsumer> CreateGroupConsumerAsync(this KafkaOptions options, IRouter router, string groupId, ConsumerProtocolMetadata metadata, CancellationToken cancellationToken) { return(router.CreateGroupConsumerAsync(groupId, metadata, options.ConsumerConfiguration, options.Encoders, cancellationToken)); }
public static async Task <IConsumer> CreateConsumerAsync(this KafkaOptions options, string topicName, int partitionId) { return(new Consumer(topicName, partitionId, await options.CreateRouterAsync(), options.ConsumerConfiguration, false)); }
public static IConnection CreateConnection(this KafkaOptions options, Endpoint endpoint) { return(options.ConnectionFactory.Create(endpoint, options.ConnectionConfiguration, options.Log)); }
public static async Task <IConnection> CreateConnectionAsync(this KafkaOptions options) { var endpoint = await Endpoint.ResolveAsync(options.ServerUris.First(), options.Log); return(options.CreateConnection(endpoint)); }
public Consumer(KafkaOptions options) : this(new BrokerRouter(options), options.ConsumerConfiguration, false) { }
/// <exception cref="ConnectionException">None of the provided Kafka servers are resolvable.</exception> public BrokerRouter(KafkaOptions options) : this(options.ServerUris, options.ConnectionFactory, options.ConnectionConfiguration, options.PartitionSelector, options.CacheConfiguration, options.Log) { }
public Producer(KafkaOptions options) : this(new BrokerRouter(options), options.ProducerConfiguration, false) { }