首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >reactive-kafka:为什么出版商“选择”消费者?

reactive-kafka:为什么出版商“选择”消费者?
EN

Stack Overflow用户
提问于 2016-08-28 15:21:43
回答 1查看 90关注 0票数 0

我查看了以下文档:https://github.com/akka/reactive-kafka和我看到了以下代码片段:

代码语言:javascript
复制
implicit val actorSystem = ActorSystem("ReactiveKafka")
implicit val materializer = ActorMaterializer()

val kafka = new ReactiveKafka()
val publisher: Publisher[StringConsumerRecord] = kafka.consume(ConsumerProperties(
 bootstrapServers = "localhost:9092",
 topic = "lowercaseStrings",
 groupId = "groupName",
 valueDeserializer = new StringDeserializer()
))

我知道'publisher‘应该给Kafka写消息。然而,消费者在Kafka中的意思正好相反,意思是消费者阅读来自Kafka的消息。如果是这样,'publisher‘和kafka.consume(ConsumerProperties...)有什么关系呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-30 09:43:11

这是一个术语冲突的真正令人困惑的案例。Reactive-kafka使用Akka Streams,它是Reactive Streams specification的一个实现。

在本规范中,Publisher发布到一个流,而Subscriber从一个流接收结果。正如您可能看到的,当您定义用于处理Kafka消息的流时,Kafka使用者充当Publisher,因为它是消息源(在akka-streams术语中为Source)。类似地,Kafka生产者将是一个流,因为它位于流的末尾(akka- Subscriber中的Sink)。

因此,在您的代码中,您定义了一个指向您的流的Publisher,它是一个Kafka消费者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39188906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档