Redis może być używany jako subwoofer w czasie rzeczywistym, tak jak Kafka.
Nie wiem, którego użyć kiedy.
Każdy przypadek użycia byłby bardzo pomocny.
Redis może być używany jako subwoofer w czasie rzeczywistym, tak jak Kafka.
Nie wiem, którego użyć kiedy.
Każdy przypadek użycia byłby bardzo pomocny.
Odpowiedzi:
Redis pub-sub jest głównie jak system „odpal i zapomnij”, w którym wszystkie utworzone przez Ciebie wiadomości będą dostarczane do wszystkich klientów naraz, a dane nie są nigdzie przechowywane. Masz ograniczenia pamięci w odniesieniu do Redis. Ponadto liczba producentów i konsumentów może wpływać na wydajność w Redis.
Z drugiej strony Kafka to rozproszony dziennik o dużej przepustowości, który może służyć jako kolejka. Tutaj dowolna liczba użytkowników może produkować, a konsumenci mogą konsumować w dowolnym momencie. Zapewnia również trwałość wiadomości wysyłanych przez kolejkę.
Ostatnie ujęcie:
Użyj Redis:
Użyj kafka:
redis
aby wiadomości, które zostały wysłane, ale jeszcze nie przetworzone , nie zostaną utracone po ponownym uruchomieniu programu redis
. Chociaż jest to możliwe do zrobienia, że redis
nie pozwala na luku (lub zachować do ponownego użycia słów @Karthikeyan) po wyjęciu z pudełka.
Wersja Redis 5.0+ zapewnia strukturę danych Stream . Można to uznać za strukturę danych dziennika z gwarancjami dostawy. Oferuje zestaw operacji blokujących, umożliwiających konsumentom oczekiwanie na nowe dane dodane do strumienia przez producentów, a ponadto koncepcję zwaną grupami konsumentów.
Zasadniczo struktura Stream zapewnia te same możliwości co Kafka.
Oto dokumentacja https://redis.io/topics/streams-intro
Istnieją dwa najpopularniejsze klienty Java obsługujące tę funkcję: Redisson i Jedis