Apache kafka 为什么请求-响应流中涉及的组件不应该使用卡夫卡主题的消息?
作为我的客户端站点设计决策的一部分,http请求-响应流中涉及的组件(微服务)允许在卡夫卡主题上生成消息,但不允许使用来自卡夫卡主题的消息 此类组件(微服务)可以读取和写入数据库,可以与其他组件交谈,可以生成主题信息,但不能使用卡夫卡主题信息 相反,设计建议编写单独的实用程序,使用来自kafka主题的消息并存储在数据库中。请求-响应流中涉及的组件(微服务)将从数据库中读取该信息Apache kafka 为什么请求-响应流中涉及的组件不应该使用卡夫卡主题的消息?,apache-kafka,architecture,microservices,Apache Kafka,Architecture,Microservices,作为我的客户端站点设计决策的一部分,http请求-响应流中涉及的组件(微服务)允许在卡夫卡主题上生成消息,但不允许使用来自卡夫卡主题的消息 此类组件(微服务)可以读取和写入数据库,可以与其他组件交谈,可以生成主题信息,但不能使用卡夫卡主题信息 相反,设计建议编写单独的实用程序,使用来自kafka主题的消息并存储在数据库中。请求-响应流中涉及的组件(微服务)将从数据库中读取该信息 如果这些组件(微服务)使用卡夫卡主题,那么设计缺陷是什么?为什么设计建议编写单独的实用程序来使用kafka主题并存储在
如果这些组件(微服务)使用卡夫卡主题,那么设计缺陷是什么?为什么设计建议编写单独的实用程序来使用kafka主题并存储在数据库中,以便组件可以从数据库中读取这些信息。kafka主题被划分为多个分区,对于每个消费者组,分区分布在该组中的各个消费者之间。每个使用者负责使用分配的分区中的消息 据推测,您的请求处理机器是集群的,负载平衡的。有两种方法可以让这些机器订阅卡夫卡主题,但这两种方法都被破坏了:
如果您希望所有请求处理机器从整个主题的同一消息队列中提取,那么它们需要与分配了所有分区的单个使用者通信。为什么请求处理机器不能位于不同的使用者组中?啊。。。因为在我们的例子中,每个请求处理机器都有多个goroutine(GoLang线程接受http请求),所以请求处理机器是否可以安全地为kafka主题生成消息?@MattTimmermans是的,请求处理机器是集群的