Я создаю распределенное приложение и решил представить Kafka. Однако мне трудно что-то выяснить.
Я понимаю, что наличие группы потребителей обеспечивает высокую доступность и высокую пропускную способность сообщений. Каждый потребитель в группе "следует" только за одним разделом в топи c. Скажем, например, что у нас есть 1 топи c с 4 разделами и одна группа потребителей с 4 потребителями. Каждый потребитель, как упоминалось ранее, будет получать сообщения только из назначенного ему раздела.
Теперь предположим, что у нас есть несколько производителей, публикующих sh сообщений в topi c. Один производитель записывает сообщение в раздел 1 topi c, а потребитель 1 получает его и выполняет с ним некоторую логику c, чтобы он был занят. Затем публикуется другое сообщение, но в том же разделе. Ни один из других потребителей не сможет получить его, поскольку раздел не «принадлежит» им.
Я ищу способ, чтобы при получении нового сообщения его получал по крайней мере один неиспользуемый потребитель. мгновенно, даже если он не записан в свой раздел.