下载地址:https://github.com/medcl/infini-gateway/releases/
目前提供的功能:
索引级别的请求限速
重复请求可以缓存
Kibana 无缝提速
Elasticsearch 节点自动发现
基于权重的节点选择,权重可配置
可控制到每个后端节点的最大连接数
查询日志统计分析,用于追踪请求排错审计
性能优异,经过测试,比 Nginx 都更胜一筹。
[root@XXX-ES-01 linux64]# ./esm -s https://elastic:pass@xx.xx.cn:9343 -d https://elastic:pass@xx.xx.cn:8000 -x medcl2 -y medcl23 -r -w 200 --sliced_scroll_size=40 -b 10 -t=30m[11-12 22:09:38] [INF] [main.go:461,main] start data migration..
Scroll 20377840 / 20387840 99.95% 1m20s
Bulk 20371785 / 20387840 99.92% 1m53s[11-12 22:11:32] [INF] [main.go:492,main] data migration finished.
使用 ESM 进行集群的一个 2千多万的索引数据进行导入导出,分别走 Nginx 和 Elasticsearch 网关,网关和 Nginx 都部署在同一台16 核 32GB 的机器上,16 核全部跑满,Nginx 可以达到 20w/s,网关可以达到 25w/s。
Kibana 走网关可以降低重复请求,缓存常见查询,起到查询加速的效果,如下:
演示视频:
还可以实现索引级别的限速限流,给后端 ES 稳稳的幸福。
通过可以开启请求日志,可以用来分析 ES 查询请求情况,如下:
追求性能极限,此网关名为极限网关(INFINI Gateway)。
欢迎帮忙测试,提供反馈意见。