reading redis docs and redis and action has given me ton of ideas for stuff, like i always wondered how would one scale a raw tcp socket server, typically one stores clients in some sort of array/list/collection etc, that seemed impossible, until i came across redis pubsub, which broadcasts messages across all subscribing clients, that was awesome, and when asking around that seemed to be a common thing, and in socketio one can choose to use redis as a message broker for exactly this thing, now i kind of understand how this all works, i am experimenting with this feature and it has been great.
Is it good idea to have 1 utility micro service for Radis caching or having in all 10+ persist micro services configured with redis interactions. We have like 100+ micro services with Kafka streaming.
Typically you want to use Redis within your microservices rather than as a dedicated microservice, and you may choose to use a single Redis Cluster, or have a dedicated Redis Cluster per microservice (for better separation). It depends on your business and architecture requirements. There are multiple reasons for not having a dedicated Redis utility microservice. One reason is you would introduce a single point of failure in the logic to store and retrieve data from Redis. Another is you lose some of the performance gains by introducing an additional network hop to communicate with the microservice.
reading redis docs and redis and action has given me ton of ideas for stuff, like i always wondered how would one scale a raw tcp socket server, typically one stores clients in some sort of array/list/collection etc, that seemed impossible, until i came across redis pubsub, which broadcasts messages across all subscribing clients, that was awesome, and when asking around that seemed to be a common thing, and in socketio one can choose to use redis as a message broker for exactly this thing, now i kind of understand how this all works, i am experimenting with this feature and it has been great.
Is it good idea to have 1 utility micro service for Radis caching or having in all 10+ persist micro services configured with redis interactions. We have like 100+ micro services with Kafka streaming.
Typically you want to use Redis within your microservices rather than as a dedicated microservice, and you may choose to use a single Redis Cluster, or have a dedicated Redis Cluster per microservice (for better separation). It depends on your business and architecture requirements. There are multiple reasons for not having a dedicated Redis utility microservice. One reason is you would introduce a single point of failure in the logic to store and retrieve data from Redis. Another is you lose some of the performance gains by introducing an additional network hop to communicate with the microservice.
Great video. Myth #2: Is it really a myth for AWS Elasticache Redis, isn't the main difference there that it is not durable or persistent.
So do you as well face data loss issues with elastiCache?