Jestem początkującym dla Redisa i Kafki. Redis może być używany jako pub-sub w czasie rzeczywistym. Jednak Kafka jest również pub-sub w czasie rzeczywistym. Jestem zdezorientowany, który z nich należy użyć, kiedy. Każdy przypadek użycia będzie wielką pomocą! Dzięki!Różnica między Redis a kafka
13
A
Odpowiedz
29
Redis pub-sub to przede wszystkim system ognia i zapomnienia, w którym wszystkie wiadomości, które wyprodukujesz, zostaną dostarczone do wszystkich klientów jednocześnie, a dane nie będą przechowywane w żadnym miejscu. Masz ograniczenie pamięci w odniesieniu do redis. Również liczba producentów i konsumentów może wpłynąć na wydajność w Redis.
Kafka z drugiej strony to wysokowydajny, rozproszony dziennik, który może być używany jako kolejka. Tutaj może produkować dowolna liczba użytkowników, a konsumenci mogą je spożywać w dowolnym momencie. Zapewnia również trwałość wiadomości wysyłanych przez kolejkę.
Finał Weź udział:
Stosować Redis:
- Jeśli chcesz ognia i zapomnieć rodzaju system, w którym wszystkie wiadomości, które produkują są dostarczane natychmiast do konsumentów.
- Jeśli chodzi o największą prędkość.
- Jeśli możesz nadążyć za utratą danych.
- Jeśli nie chcesz, aby system wstrzymał wysłaną wiadomość.
- Ilość danych, które zostaną rozdane, nie jest duża.
Zastosowanie Kafka:
- Jeśli chcesz niezawodność.
- Jeśli chcesz, aby system miał kopię wiadomości, które zostały wysłane nawet po zużyciu.
- Jeśli nie możesz nadążyć za utratą danych.
- Jeśli Prędkość nie jest dużym problemem.
- Rozmiar danych jest ogromny
Powiązane problemy
- 1. docker-compose: różnica między siecią a łączem
- 2. redis-py: Jaka jest różnica między metodami StrictRedis() i Redis()?
- 3. Różnica między obiektem a *?
- 4. Różnica między jquery a $
- 5. Różnica między String [] a i String ... a
- 6. Różnica między bip pid a $$
- 7. Różnica między kodowaniem a sortowaniem?
- 8. Różnica między onbeforeunload a onunload
- 9. Różnica między OpenCV a OpenCL
- 10. Różnica między wysokością a tłumaczeniemZ
- 11. Różnica między ApplicationInfo a PackageInfo?
- 12. Różnica między CMAKE_PROJECT_NAME a PROJECT_NAME?
- 13. Różnica między autoconf a autoreconf
- 14. Różnica między transakcją a transakcjąScope
- 15. Różnica między File.Copy a File.Move
- 16. Różnica między _declspec a __declspec?
- 17. Różnica między repozytorium a usługą?
- 18. Różnica między CCNode a CCLayer?
- 19. różnica między * y ++ a ++ * y?
- 20. Różnica między IPFS a Filecoin?
- 21. Różnica między systemem a shell_exec
- 22. Różnica między dodawaniem a dodawaniem
- 23. Różnica między DisplayFor a ValueFor
- 24. Różnica między @EntityScan a @ComponentScan
- 25. Różnica między DataSource a DataSet
- 26. Różnica między LIST_HEAD_INIT a INIT_LIST_HEAD
- 27. Różnica między GetHostEntry a GetHostByName?
- 28. Różnica między Object.getPrototypeOf a __proto__
- 29. Różnica między CHOICE_MODE_MULTIPLE a CHOICE_MODE_MULTIPLE_MODAL?
- 30. Różnica między WebMvcConfigurationSupport a WebMvcConfigurerAdapter