Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec Azure, Google, Redis Labs' offering (x-AZ/Region, Lua support/pipeline support, sharded?) #264

Closed
alexsnaps opened this issue Feb 26, 2024 · 4 comments
Assignees

Comments

@alexsnaps
Copy link
Member

alexsnaps commented Feb 26, 2024

Azure, Google and Redis Labs all provide other "Redis API/Protocol" compatible solution that may somewhat cover some of the usecases described in Kuadrant/architecture#62

We need a matrix that document support for these usecases, as well as support for:

  • server-side Lua scripts
  • Pipelining
  • What sharding strategy they support
@alexsnaps alexsnaps transferred this issue from Kuadrant/architecture Feb 26, 2024
@alexsnaps alexsnaps moved this to Todo in Kuadrant Feb 26, 2024
@eguzki eguzki self-assigned this Mar 5, 2024
@eguzki eguzki moved this from Todo to In Progress in Kuadrant Mar 5, 2024
@eguzki
Copy link
Contributor

eguzki commented Mar 5, 2024

Capability / Feature Elasticache for Redis Azure Cache for Redis Google Memorystore for Redis Redis Enterprise
Active - Active No Premium plan passive geo-replication across regions

Enterprise plan active geo-replication across regions
No Active-Active geo-distributed Redis
x-AZ/Region Any Elasticache instance runs only in one region doc and nodes can be located in a single or multi AZ.

Global Datastore feature you can have replication across AWS regions in Active (writes/reads)-Passive(only reads) mode
Any Azure cache for redis instance runs only in one region and redundancy caches can be located in a single or multi AZ. Any memorystore instance run only in one region. Nodes can be distributed on multiple AZ.

There is a guide to setup a proxy that will replicate keys in two cross-regional redis instances. But this would be Active-Passive architecture. This approach is not fully managed.
Redis Cloud is Multi-zone
Sharding strategy Cluster mode only Starting from the Premium tier, redis cluster automatically shards data across up to ten Redis nodes Memorystore for redis cluster in a single region Called Clustering
Server-side lua scripts Yes Yes. Configuration doc for max execution time of a Lua script in milliseconds Yes. Configuration doc for lua time limit which cannot be modified Yes with limitations with multy key operations
Pipelining Yes doc Yes doc Yes (I haven't found direct reference to pipelines or note rejecting them) Yes
HA High availability using replication groups Standard replication for high availability

Zone redundancy

geo replication
Memorystore for Redis provides high availability by replicating a Redis primary to one or more replicas. Same for Redis Cluster mode High availability and replication
Disaster recovery Snapshot and restore Data persistence with RDB (snapshot) and AOF persistence RDB snapshots and exporting data Back up a database

Currently limitador only implements redis client with cluster mode off. The redis-rs library has support for cluster mode.

@eguzki
Copy link
Contributor

eguzki commented Mar 7, 2024

While elasticache seems to be a system implementing "Redis API", Azure cache looks like deploys instances of open source redis or redis enterprise in premium/enterprise plans. The configuration options and portfolio of features can me mapped one to one with the open source and enterprise redis.

@eguzki eguzki moved this from In Progress to Ready For Review in Kuadrant Mar 8, 2024
@alexsnaps
Copy link
Member Author

@eguzki anything pending here, or do we feel we can close this Issue?

@eguzki
Copy link
Contributor

eguzki commented Apr 22, 2024

I think we can close this. In 6 months the offering can change. WE can have this report as base line to compare.

@eguzki eguzki closed this as completed Apr 22, 2024
@github-project-automation github-project-automation bot moved this from Ready For Review to Done in Kuadrant Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants