Overview
FlowX platform services use Redis for caching and real-time data management. Redis can be deployed in three different modes depending on your availability and scalability requirements. All FlowX Java microservices support the same Redis configuration properties based on Spring Boot’s Redis data configuration.Supported deployment modes
FlowX supports three Redis deployment modes:- Standalone: Single Redis instance (suitable for development and low-traffic environments)
- Sentinel: High availability with automatic failover (recommended for production)
- Cluster: Horizontal scaling with data sharding (for high-throughput applications)
Standalone mode
The default configuration for single Redis instance deployments.Configuration parameters
| Environment Variable | Description | Example Value | Required |
|---|---|---|---|
SPRING_DATA_REDIS_HOST | Hostname of the Redis server | localhost or redis.example.com | Yes |
SPRING_DATA_REDIS_PORT | Port number for Redis server | 6379 (default) | Yes |
SPRING_DATA_REDIS_PASSWORD | Password for Redis authentication | yourpassword | If authentication is enabled |
SPRING_DATA_REDIS_SSL_ENABLED | Enable SSL/TLS connection | true or false | No |
Example configuration
Sentinel mode
For high-availability Redis with automatic failover. Sentinel provides monitoring, notification, and automatic failover capabilities.Configuration parameters
| Environment Variable | Description | Example Value | Required |
|---|---|---|---|
SPRING_DATA_REDIS_SENTINEL_MASTER | Name of the Redis master instance | mymaster | Yes |
SPRING_DATA_REDIS_SENTINEL_NODES | Comma-separated list of Sentinel nodes (host:port format) | host1:26379,host2:26379,host3:26379 | Yes |
SPRING_DATA_REDIS_SENTINEL_PASSWORD | Password for Sentinel authentication | sentinelpassword | If Sentinel authentication is enabled |
SPRING_DATA_REDIS_PASSWORD | Password for Redis data node authentication | yourpassword | If Redis authentication is enabled |
Example configuration
Important notes
- The
SPRING_DATA_REDIS_SENTINEL_NODESmust include all Sentinel instances for redundancy - Sentinel typically runs on port
26379(different from Redis data port6379) - The master name (
SPRING_DATA_REDIS_SENTINEL_MASTER) must match the master configured in your Sentinel setup - Both Sentinel password and Redis password can be configured independently
Cluster mode
For Redis cluster deployments with data sharding across multiple nodes, providing horizontal scalability.Configuration parameters
| Environment Variable | Description | Example Value | Required |
|---|---|---|---|
SPRING_DATA_REDIS_CLUSTER_NODES | Comma-separated list of cluster nodes (host:port format) | host1:6379,host2:6379,host3:6379 | Yes |
SPRING_DATA_REDIS_PASSWORD | Password for Redis cluster authentication | yourpassword | If authentication is enabled |
Example configuration
Important notes
- You only need to specify a subset of cluster nodes; the Redis client will discover all nodes automatically
- At least 3 master nodes are recommended for a production Redis cluster
- Data is automatically sharded across cluster nodes
Choosing the right deployment mode
Use this guide to select the appropriate Redis deployment mode:- Development & Testing
- Production - High Availability
- Production - High Throughput
Standalone mode is suitable for:
- Development environments
- Testing and staging environments
- Low-traffic applications
- Single-server deployments
- No automatic failover
- Single point of failure
- Simplest to set up and maintain
SSL/TLS configuration
For secure Redis connections, you can enable SSL/TLS:| Environment Variable | Description | Example Value |
|---|---|---|
SPRING_DATA_REDIS_SSL_ENABLED | Enable SSL/TLS for Redis connections | true |
SSL/TLS configuration is supported in all deployment modes (Standalone, Sentinel, and Cluster).
Additional configuration options
Connection timeout
| Environment Variable | Description | Default Value |
|---|---|---|
SPRING_DATA_REDIS_TIMEOUT | Connection timeout in milliseconds | 2000 |
TTL (Time To Live)
Some services support custom TTL configuration for cached data:| Environment Variable | Description | Default Value |
|---|---|---|
REDIS_TTL | Time to live for cached entries in milliseconds | Service-specific |
Check individual service setup guides for service-specific Redis configuration options.
Applying configuration
1
Choose your deployment mode
Select the appropriate Redis deployment mode based on your requirements (Standalone, Sentinel, or Cluster).
2
Set environment variables
Configure the required environment variables for your chosen deployment mode in your deployment configuration (Kubernetes ConfigMap, Docker Compose, etc.).
3
Verify Redis connectivity
Ensure your FlowX services can reach the Redis instance(s) on the network level.
4
Test the configuration
Deploy your services and verify Redis connectivity through service logs and health checks.
Services using Redis
The following FlowX services use Redis and support these configuration options:- Events Gateway
- Authorization System
- FlowX Engine
- Notification Plugin
- Document Plugin
- OCR Plugin
- Task Management Plugin
For service-specific Redis configuration details, refer to the individual setup guides in the Setup Guides section.
Troubleshooting
Connection issues
If services cannot connect to Redis:- Verify network connectivity: Ensure the service can reach Redis hosts on the configured ports
- Check authentication: Verify the password is correct
- Review firewall rules: Ensure no firewall is blocking Redis ports
- Validate configuration: Double-check environment variable names and values
Sentinel mode issues
If Sentinel failover is not working:- Verify master name: Ensure
SPRING_DATA_REDIS_SENTINEL_MASTERmatches your Sentinel configuration - Check all Sentinel nodes: All Sentinel instances should be reachable
- Review Sentinel logs: Check Sentinel logs for failover events
- Validate Sentinel password: If using Sentinel authentication, ensure
SPRING_DATA_REDIS_SENTINEL_PASSWORDis correct
Cluster mode issues
If cluster operations fail:- Verify cluster health: Check Redis cluster status with
CLUSTER INFO - Ensure minimum nodes: At least 3 master nodes should be running
- Check node discovery: Ensure the service can discover all cluster nodes
- Review unsupported commands: Some Redis commands are not supported in cluster mode

