Как обрабатывать несколько агрегаций в одном и том же потоке событий Kafka, когда каждый нужен другой ключ разбиения?C#

Место общения программистов C#
Ответить
Anonymous
 Как обрабатывать несколько агрегаций в одном и том же потоке событий Kafka, когда каждый нужен другой ключ разбиения?

Сообщение Anonymous »

Я работаю над системой, которая обрабатывает события из Кафки, и я сталкиваюсь с проблемой дизайна, связанной с масштабирующими агрегациями.{
"orderId": 123,
"skuIds": [101, 102]
}
< /code>
Из этого потока мне нужно построить несколько агрегаций. Например: < /p>

Общее количество закупок на Skuid < /li>
Общее количество закупок на ShopId < /li>
< /ul>
Проблема заключается в том, что каждая из этих агрегаций действительно нуждается в своем собственном разделении для сохранения порядка. Но поскольку тема кафки может быть разделена только одним ключом, я не могу просто обработать все из одной темы параллельно, не теряя гарантий заказа, по крайней мере, для некоторых агрегаций. Люди обычно дублируют события в отдельные темы на агрегацию? Используйте что -то вроде потоков Kafka с перераспределением? Или есть какой -то другой шаблон, который мне не хватает? Прямо сейчас в теме есть только один раздел, так что это еще не проблема, но я хочу планировать, когда нам нужно масштабироваться.
Любые указатели или общий опыт будут действительно оценены.

Подробнее здесь: https://stackoverflow.com/questions/797 ... n-each-nee
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»