1. 前言
kafka的目的是提供一个发布订阅解决方案,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。本次使用kafka主要为了解决多系统之间数据交互的问题。
2.使用场景
在项目中使用kafka主要是解决MIP、Coremail三方日程交互的问题。三方都会把日程数据写入kafka的对应topic,同时也会从相应topic读取数据,这样可以降低三方系统之间的耦合性。任一一个系统的迭代和升级不会影响到另一方系统,这对客户的实际生产环境的非常必要的。
3.常用组件
.net开发kafka,现在比较好的就两个kafka-net和confluent-kafka-dotnet,实际使用中二者的对比结果如下:kafka-net
confluent-kafka-dotnet
优点
使用比较简单
生产者和消费者效能都很高,实时,可通过config配置参数,达到各种效果,可以自动设置消费数据的起点
缺点
只能从开头开始消费,消费有延迟,生产者效率很好
使用相对复杂
网址
https://github.com/confluentinc/confluent-kafka-dotnet
https://github.com/Jroland/kafka-net
1)Confluent's Apache
Kafka .NET client
l生产者
var options = new KafkaOption