Hi,
I am a new user to Redis. I have built an application using Redis Streams, Spring Data Redis and Spring Web Flux to be able to stream events to any browser supporting HTML 5 Server Side Events. And had a lot of fun building it. Diagram attached for reference.
3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%22%20style%3D%22endArrow%3Dclassic%3Bhtml%3D1%3BfontFamily%3DHelvetica%3BstrokeColor%3D%23999999%3BstrokeWidth%3D2%3B%22%20edge%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20width%3D%2250%22%20height%3D%2250%22%20relative%3D%221%22%20as%3D%22geometry%22%3E%3CmxPoint%20x%3D%221210%22%20y%3D%22268%22%20as%3D%22sourcePoint%22%2F%3E%3CmxPoint%20x%3D%221260%22%20y%3D%22268%22%20as%3D%22targetPoint%22%2F%3E%3CArray%20as%3D%22points%22%3E%3CmxPoint%20x%3D%221230%22%20y%3D%22430%22%2F%3E%3CmxPoint%20x%3D%221240%22%20y%3D%22268%22%2F%3E%3CmxPoint%20x%3D%221260%22%20y%3D%22268%22%2F%3E%3C%2FArray%3E%3C%2FmxGeometry%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%22%20style%3D%22endArrow%3Dclassic%3Bhtml%3D1%3BfontFamily%3DHelvetica%3BstrokeColor%3D%23999999%3BstrokeWidth%3D2%3B%22%20edge%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20width%3D%2250%22%20height%3D%2250%22%20relative%3D%221%22%20as%3D%22geometry%22%3E%3CmxPoint%20x%3D%221210%22%20y%3D%22268%22%20as%3D%22sourcePoint%22%2F%3E%3CmxPoint%20x%3D%221260%22%20y%3D%22268%22%20as%3D%22targetPoint%22%2F%3E%3CArray%20as%3D%22points%22%3E%3CmxPoint%20x%3D%221230%22%20y%3D%22430%22%2F%3E%3CmxPoint%20x%3D%221240%22%20y%3D%22268%22%2F%3E%3CmxPoint%20x%3D%221260%22%20y%3D%22268%22%2F%3E%3C%2FArray%3E%3C%2FmxGeometry%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3EMy question is with regards to scaling and somewhat with regards to persistence.
My requirements are modest. I will have roughly up to 200 msg/sec and about 2500 plus HTML 5 Clients connected to receive updates from the Spring Web FLux App.
Given that I will have 2500+ consumers,
- Can I scale out the reads with Redis Sentinel? Or does streams require any special scaling strategy?
- How do I make sure streams are replicated to slaves as quickly as possible? Should I use RDB or AOF?
Advance apologies, if I am asking the wrong question.