我正在使用KAFKA从来源获取数据。 我想知道,如果我增加微服务架构中的组件数量,是否会使它更具扩展性?还是仅仅增加相同组件类型的KAFKA消费者的数量就会增加吗? PS:对不起,有任何错误,我是第一次发布问题。
答案 0 :(得分:0)
我建议您阅读kafka文档或诸如o'reilly的kafka权威指南之类的书,以更好地理解。但基本上,在kafka中,您拥有消费者组,并且共享相同消费者组的所有消费者(服务)将进行协作,这意味着这些服务之一所消耗的事件将不会被其他服务所消耗,因此您可以通过这种方式并行化消费者过程。
当您创建同一服务的更多实例时,会发生这种情况,因为这两个服务将共享相同的配置,因此它们将共享相同的使用者组。
另一方面,如果这两个服务属于不同的消费者组,则它们将独立处理所有事件
答案 1 :(得分:0)
每个使用者分区中的每个线程都使用一个主题分区。如果要增加吞吐量,则需要对该特定主题进行分区,默认为1。如果对主题进行分区,则可以与每个分区同时使用带有单独线程的主题。这些线程可能位于不同的可部署对象中,这取决于您的体系结构,此处没有限制。
对主题进行分区时,可能需要在生产者端和消费者端都做一些额外的工作,以便在这些微服务之间提供数据一致性。可能有一些消息需要按照它们产生的顺序进行使用。在这种情况下,您需要将相关消息发送到同一分区,以强制按顺序使用它们。