apache-kafka 为api创建多少个Kafka主题?

y0u0uwnf  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(171)

我用kafka作为我的api,我用spring和微服务,我将在下面发布我的kafka代码:
命令:

private static final Logger logger = 
        LoggerFactory.getLogger(UserCommandServiceImpl.class);

@Autowired
private KafkaTemplate<String, Object> kafkaTemplate;

public void sendMessage(User objeto) 
{

    logger.info(String.format("Message sent -> %s", objeto.toString()));
    this.kafkaTemplate.send("quickstart-events", objeto);

}

查询:

private final Logger logger = LoggerFactory.getLogger(UserQueryServiceImpl.class);

@Autowired
private MongoTemplate mongoTemplate;

@KafkaListener(topics = "quickstart-events" , groupId = "group-id")
public void consume(String message) 
{
    logger.info(String.format("Message recieved -> %s", message));
    mongoTemplate.insert(message, "user");

}

我从site安装了Kafka:我正在使用CQRS模式,所以每个查询都是一个微服务,并命令另一个。我的问题很简单,为每个微服务我创建了一个Kafka主题?谢谢!

flvlnr44

flvlnr441#

把Kafka主题想象成一个数据库表,每种数据使用一个主题。
如果你想知道如何扩展你的应用程序,你可以问你的主题应该有多少个分区。一个主题是一组处理所有数据的分区。
请看下图,一个主题会从多个生成器接收值,并且它只有一种类型的消息。消息可以存储在任何分区中,这是由消息键定义的。

相关问题