INFINI Gateway Overview
INFINI Gateway is a specialized application gateway engineered specifically for Elasticsearch deployments, focusing on enhancing cluster performance, security, and operational manageability. Acting as a front-end proxy, it intercepts all client requests before forwarding them to backend Elasticsearch clusters, offering advanced features for request optimization and traffic management. Beyond Elasticsearch, it extends support to OpenSearch and Easysearch services.
Nginx Overview
Nginx has established itself as a versatile HTTP server and reverse proxy solution, renowned for its exceptional concurrency handling, minimal memory footprint, and rock-solid stability. In the Elasticsearch ecosystem, many organizations deploy Nginx as a reverse proxy to distribute incoming requests across multiple cluster nodes, leveraging its robust load balancing capabilities.
Load Balancing Capabilities
Both solutions provide standard load balancing mechanisms suitable for distributed Elasticsearch architectures. INFINI Gateway and Nginx both default to round-robin algorithms for request distribution, ensuring even traffic spread across available nodes. Additionally, both platforms support weighted round-robin configurations, allowing administrators to assign different traffic proportions to specific nodes based on capacity or priority. In terms of core load balancing functionality, the two solutions remain largely equivalent.
Dynamic Node Discovery
Elasticsearch clusters frequently undergo topology changes, including node additions for scaling and removals for maintenance or decommissioning. The ability of a proxy layer to automatically detect and adapt to these changes becomes critical for operational efficiency.
Nginx Approach
Nginx operates with a static configuration model where all backend node addresses must be explicitly defined in configuration files. When new Elasticsearch nodes join the cluster, administrators must manually edit the Nginx configuration, add the new node IP addresses, and trigger a service reload. Similarly, when nodes leave the cluster, the same manual intervention is required to remove outdated entries and prevent connection failures to offline endpoints.
INFINI Gateway Approach
Built specifically for Elasticsearch environments, INFINI Gateway incorporates native backend node discovery capabilities. The gateway actively monitors cluster topology, detecting node join and leave events in real-time. When the discovery feature is activated, the gateway periodically refreshes its internal node registry and adjusts traffic distribution accordingly, eliminating the need for manual configuration updates.
Note: Node discovery functionality is disabled by default in INFINI Gateway and requires explicit activation.
Advanced Request Routing
Production Elasticsearch deployments often require sophisticated request routing based on various node attributes and business requirements. Key filtering dimensions include:
- Network IP addresses
- Node roles (master, data, ingest, etc.)
- Custom node tags and labels
Nginx Configuration
Nginx provides basic IP-based upstream configuration for defining backend servers:
upstream es_backend {
server 10.0.1.101:9200;
server 10.0.1.102:9200;
server 10.0.1.103:9200;
}However, Nginx lacks native understanding of Elasticsearch node roles or custom metadata tags, making role-based or tag-based routing impossible without external workarounds.
INFINI Gateway Configuration
INFINI Gateway offers comprehensive filtering options. For IP-based routing with discovery enabled:
pipeline:
- name: intelligent_router
filters:
- elasticsearch:
cluster: production
discovery:
enabled: true
refresh_interval: 30s
routing:
hosts:
exclude:
- 10.0.2.50:9200
include:
- 10.0.2.100:9200
- 10.0.2.101:9200Beyond IP filtering, the gateway supports role and tag-based node selection:
pipeline:
- name: advanced_router
filters:
- elasticsearch:
cluster: production
discovery:
enabled: true
refresh_interval: 30s
routing:
node_tags:
exclude:
- tier: archive
include:
- storage: nvme
node_roles:
exclude:
- master
include:
- data
- ingest
- coordinating_onlyMultiple filtering criteria can be combined to achieve precise traffic control. The gateway evaluates all conditions together, directing requests only to nodes matching the complete filter specification.