Разница между Редисом и кафкой

Я новичок в Redis и Kafka. Redis можно использовать как pub-sub реального времени. Однако Kafka - это также паб-субтитр реального времени. Я смущен, какой из них использовать когда. Любой случай использования был бы большой помощью! Спасибо!

Ответ 1

Redis pub-sub в основном похож на систему огня и забывания, в которой все отправленные вами сообщения будут доставлены всем потребителям сразу, а данные не будут храниться где-либо. У вас есть ограничение по памяти в отношении redis. Также количество производителей и потребителей может повлиять на производительность в Redis.

Kafka с другой стороны - это высокопроизводительный распределенный журнал, который может использоваться как очередь. Здесь любое количество пользователей может производить и потребители могут потреблять в любое удобное для них время. Он также обеспечивает постоянство сообщений, отправленных через очередь.

Заключительный взнос:

Использовать Redis:

  • Если вы хотите пожарить и забыть о какой-то системе, где все сообщения, которые вы производите, доставляются мгновенно потребителям.
  • Если скорость больше всего беспокоит.
  • Если вы можете справиться с потерей данных.
  • Если вы не хотите, чтобы ваша система сохраняла отправленное сообщение.
  • Объем данных, который будет передан, не огромен.

Использовать kafka:

  • Если вам нужна надежность.
  • Если вы хотите, чтобы ваша система имела копию сообщений, которые были отправлены даже после потребления.
  • Если вы не можете справиться с потерей данных.
  • Если скорость не является большой проблемой.
  • Размер данных огромен.