Я рассматриваю Kafka как одну из нескольких технологий, служащих в качестве посредника сообщений для рабочих узлов, которые в конечном итоге будут отправлять push-уведомления пользователям.Важным ограничением является то, что я не хочу, чтобы один арендатор монополизировал ресурсы таким образом, чтобы он вставлял миллион уведомительных сообщений и не позволял другим арендаторам получать свои уведомления в разумные сроки.Другими словами, я хочу, чтобы каждый арендатор обрабатывал свои сообщения примерно с одинаковой скоростью.Кажется, я могу создать тему для каждого арендатора или раздел для каждого арендатора.И то, и другое кажется проблематичным и / или осуждаемым.
Создание темы для каждого арендатора похоже на логистический кошмар.Каждый раз, когда новый клиент добавляется в приложение, потребители должны будут получать уведомления о подписке на эту тему.
Создание раздела для каждого арендатора выглядит не так уж плохо, но кажется, что его осуждают,Однако, исходя из моего понимания того, как нагрузка распределяется между разделами и потребителями, если несколько арендаторов совместно использовали один и тот же раздел, существует вероятность того, что сообщения одного арендатора будут зависать за другим, что не является тем способом, которым я хочу сбалансировать нагрузку.
Какой мой лучший вариант?Есть ли третья возможность, которую я не рассматриваю?Разве Кафка не подходит для работы?
Спасибо!