gateway

command module
v0.0.0-...-a83d8fc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2024 License: AGPL-3.0 Imports: 21 Imported by: 0

README

INFINI Gateway

Introduction

INFINI Gateway is a high performance gateway for Elasticsearch/OpenSearch/Easysearch. It offers a broad range of features and is easy to use. INFINI Gateway works in the same way as a common reverse proxy. It is usually deployed in front of Elasticsearch/OpenSearch/Easysearch clusters. All requests are sent to the gateway instead of Elasticsearch/OpenSearch/Easysearch, and then the gateway forwards the requests to the back-end Elasticsearch/OpenSearch/Easysearch clusters. The gateway is deployed between the client and Elasticsearch/OpenSearch/Easysearch. Therefore, the gateway can be configured to perform index-level traffic control and throttling, cache acceleration for common queries, query request audit, and dynamic modification of query results.

Features

The application-layer INFINI Gateway is especially designed for Elasticsearch/OpenSearch/Easysearch and offers powerful features.

  • High availability: The gateway supports non-stop indexing and is capable of automatically processing faults occurring on Elasticsearch/OpenSearch/Easysearch, without affecting normal data ingestion.
  • Write acceleration: The gateway can automatically merge independent index requests into a bulk request, thereby reducing back-end pressure and improving indexing efficiency.
  • Query acceleration: Query cache can be configured on INFINI Gateway and Kibana dashboards can accelerate the query seamlessly and intelligently to fully enhance search experience.
  • Seamless retry: The gateway automatically processes faults occurring on Elasticsearch/OpenSearch/Easysearch, and migrates and retries query requests.
  • Traffic cloning: The gateway can replicate traffic to multiple different Elasticsearch/OpenSearch/Easysearch clusters and supports traffic migration through canary deployment.
  • One-click rebuilding: The optimized high-speed index rebuilding and automatic processing of incremental data enable the gateway to seamlessly switch between old and new indexes.
  • Secure transmission: The gateway supports the Transport Layer Security (TLS) and Hypertext Transfer Protocol Secure (HTTPS) protocols. It can automatically generate certification files and supports specified trust certification files.
  • Precision routing: The gateway supports the load balancing mode using multiple algorithms, in which load routing strategies can be separately configured for indexing and query, providing great flexibility.
  • Traffic control and throttling: Multiple traffic control and throttling rules can be configured to implement index-level traffic control and ensure the stability of back-end clusters.
  • Concurrency control: The gateway can control cluster- and node-level concurrent TCP connections to ensure the stability of back-end clusters and nodes.
  • No single point of failure (SPOF): The built-in virtual IP-based high availability solution supports dual-node hot standby and automatic failover to prevent SPOFs.
  • Request observability: The gateway is equipped with the logging and indicator monitoring features to fully analyze Elasticsearch/OpenSearch/Easysearch requests.

To learn more about Gateway, please visit: https://docs.infinilabs.com/gateway/

Community

Fell free to join the Discord server to discuss anything around this project:

https://discord.gg/4tKTMkkvVX

License

INFINI Gateway is a truly open-source project, licensed under the GNU Affero General Public License v3.0. We also offer a commercially supported, enterprise-ready version of the software. For more details, please refer to our license information.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
anomalyzer
Package anomalyzer implements probability-based anomaly detection.
Package anomalyzer implements probability-based anomaly detection.
lib
procspy
Package procspy lists TCP connections, and optionally tries to find the owning processes.
Package procspy lists TCP connections, and optionally tries to find the owning processes.
pipeline
filters/script/javascript/module/windows
Package windows registers the windows module with the javascript script processor.
Package windows registers the windows module with the javascript script processor.
output/kafka/example
https://www.sohamkamani.com/golang/working-with-kafka/
https://www.sohamkamani.com/golang/working-with-kafka/
service
floating_ip
启动,如果是 active 模式,且没有存在虚拟节点,则切换为 standby 模式; 启动,如果是 standby 模式,如果没有存在虚拟节点,则切换为 active 模式; 运行中,active 节点开启心跳服务端,每 5s 广播 arp 地址; 运行中,standby 节点,连接虚拟节点访问 active 服务器,如果连接成功,继续检测 运行中,standby 节点,连接虚拟节点,如果连接失败,重试 3 次,则提升自己为 active 节点,执行 active 运行任务;
启动,如果是 active 模式,且没有存在虚拟节点,则切换为 standby 模式; 启动,如果是 standby 模式,如果没有存在虚拟节点,则切换为 active 模式; 运行中,active 节点开启心跳服务端,每 5s 广播 arp 地址; 运行中,standby 节点,连接虚拟节点访问 active 服务器,如果连接成功,继续检测 运行中,standby 节点,连接虚拟节点,如果连接失败,重试 3 次,则提升自己为 active 节点,执行 active 运行任务;

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳