Over the last decade, Redis has become a popular, widely used memory cache.
Unlike most allocated cachesit offers a compelling set of built-in data structures that enhance its capabilities beyond simply storing serialized objects. Established in 2009 As a single-server repository for web server design support, Redis provides applications with a variety of useful options for organizing and retrieving stored data, including sets, lists, hashes, and sorted sets.
A few years later, it is added cluster support to scale the bandwidth and add high availability data replication. However, Redis’ cluster implementation introduced specialized concepts, such as hash slots and replicas, that system administrators had to understand and manage.
Along with the use of Redis possible, not complete sequencethese concepts have created a complexity that makes cluster management more challenging while reducing flexibility and reliability.
In contrast, ScaleOut StateServer®enterprise-oriented distributed cache for serialized sites first launched in 2005is designed from the ground up to run on a server cluster with the specific design goals of high performance and reliable data storage, while maximizing ease of use.
It automates load balancing, data replication and recovery and stores data in full sequence (ie sequential sequence) in replicas. It also executes client requests using all available processing cores for maximum bandwidth.
These features drastically simplify cluster management, improve flexibility and lower TCOs, especially for enterprise users. For example, unlike Redis, ScaleOut server clusters can easily grow from a single server to multiple servers, and system administrators do not need to manage hash slots or replicas.
The challenge is to integrate Redis command processing into a new cluster architecture
Scaling software acknowledged that running Redis commands in the ScaleOut StateServer cluster will offer users the best of both worlds: familiar and rich data structures combined with significantly simpler cluster management and complete data consistency.
However, the ideal implementation should use actual Redis open source code to execute commands so that client commands behave identically to Redis open source clusters. The challenge then was to integrate Redis code into ScaleOut StateServer’s execution platform and take advantage of its highly automated clustering features while eliminating Redis single-threaded constraints. event cycle architecture.
The company recently implemented this integration in ScaleOut StateServer version 5.11, released a preview of the community which introduces support for Redis’ most popular data structures (strings, sets, lists, hashes, and sorted sets) plus publish / subscribe commands, transactions, and various help commands (such as FLUSHDB and EXPIRE) in both Windows and Linux. It uses Redis open source version 6.2.5 code in Redis command processing servers.
Automated cluster operations, scalable bandwidth and full data coherence
With this integration, Redis clients can connect to a ScaleOut StateServer cluster from one or more servers using the standard Redis RESP protocol.
Redis client libraries obtain the hash slot mapping to the servers by calling the CLUSTER SLOTS or CLUSTER NODES commands internally, and then route Redis access requests to the appropriate ScaleOut server.
When cluster membership changes, clients automatically use the RESP protocol to redirect commands to the correct servers.
To maximize bandwidth, each ScaleOut server processes Redis incoming multithreaded commands using all available processor cores. It is not necessary to deploy multiple snippets on each server to scale performance or ensure data replication; these functions are performed within one process on each server.
As the need for additional bandwidth increases, system administrators can simply add new servers to the cluster. ScaleOut StateServer automatically balances the hash slots in the cluster when servers are added or removed. It also slows down the execution of Redis commands during load balancing (and recovery) to maintain a consistent picture of the location of hash slots and avoid client exceptions. After the hash slot has completely migrated to a remote server, client requests return -MOVED so that they can be redirected to the new server.
In addition, ScaleOut StateServer automatically creates replicas for all hash slots. There is no need to manually create primary and replicas or move them from server to server during membership changes and restores.
ScaleOut StateServer automatically places hash-slot replicas on different servers from their respective primary hash-slots and migrates them as needed during membership changes to ensure optimal load balancing. If a server fails or the network is interrupted, ScaleOut StateServer “self-medicates” by promoting replicas to primary and creating new replicas if necessary.
Redis uses a possible sequence model to update replicas. Although this model is fast, it is susceptible to outdated customer data service if the server fails or network interruption occurs. To avoid this problem, ScaleOut StateServer applies fully sequential updates to stored objects using a patented quorum algorithm. When a server receives a Redis command, it completes the command on a quorum containing the main hash slot and its replicas before returning to the client. Transactions are processed in the same way.
In summary – new opportunities for Redis users
Redis ‘innovative open source integration into its ScaleOut Software cluster architecture will bring new powerful capabilities to Redis users while ensuring Redis’ behavior for customer applications.
Enterprise users now have a simpler way to manage Redis clusters with automated cluster management and built-in bandwidth scaling, and take advantage of fully consistent updates to stored data performed by Redis commands.
They can also access ScaleOut StateServer’s own APIs, which include advanced features not available in open source Redis clusters, including parallel data computing, streaming analysis, and coherent data replication across a wide area.
Want to learn more about cybersecurity and the cloud from industry leaders? Take a look Cyber Security & Cloud Expo takes place in Amsterdam, California and London.
Explore other upcoming TechForge-driven corporate technology events and webinars here.