Apache Kafka® is an open-source stream-processing software platform developed by LinkedIn and donated to the Apache Software Foundation, written in Scala and Java.
CAP has supported Kafka® as message transporter.
To use Kafka transporter, you need to install the following extensions from NuGet:
PM> Install-Package DotNetCore.CAP.Kafka
Then you can add memory-based configuration items to the ConfigureServices
method of Startup.cs
.
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddCap(x =>
{
x.UseKafka(opt=>{
//KafkaOptions
});
// x.UseXXX ...
});
}
The Kafka configuration parameters provided directly by the CAP are as follows:
NAME | DESCRIPTION | TYPE | DEFAULT |
---|---|---|---|
Servers | Broker server address | string | |
ConnectionPoolSize | connection pool size | int | 10 |
If you need more native Kakfa related configuration items, you can set it with the MainConfig
configuration option:
services.AddCap(capOptions =>
{
capOptions.UseKafka(kafkaOption=>
{
// kafka options.
// kafkaOptions.MainConfig.Add("", "");
});
});
MainConfig
is a configuration dictionary, you can find a list of supported configuration items through the following link.
https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md