2个不稳定版本
0.2.0 | 2019年6月26日 |
---|---|
0.1.3 | 2019年4月1日 |
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#22 in #round-robin
每月 28次下载
130KB
3K SLoC
催化剂API网关
催化剂是一个高性能且内存低下的API网关。它可以作为Docker上的设备使用,也可以作为一个库。该项目目前正在积极开发中,随着我们向1.0版本迈进,可能会经历许多变化和问题。
特性
- 通过YAML文件进行配置
- 使用模板和模块化"表达式"进行动态路由处理的设计
- 使用正则表达式或自定义路由构建器进行请求路由
- 模块化设计,以便对网关进行定制,内部模块可以重写
- 使用轮询、最少连接或随机算法负载均衡主机
- SSL/TLS终止
- 性能极高,至少在某些用例和负载下优于nginx
- 基于tokio运行时和Hyper构建,尽可能利用异步I/O
- 尽管有大量的异步I/O,但无需使用rust nightly
- 可作为Rust库、独立应用程序或轻量级Docker容器使用
库使用
有关库的使用,请参阅官方rust文档。
安装
当前二进制安装需要Cargo,尽管可能很快会有其他包格式。
# Add --force if you need to overwrite an already installed version
cargo install katalyst
使用方法
安装后,启动Katalyst很容易。使用-c选项指定配置文件。{{version}}
➤ katalyst -c config.yml
2019-06-25 19:44:03,103 INFO [katalyst::config::parsers] Loading file from: config.yml
2019-06-25 19:44:03,105 INFO [katalyst::server] Listening on http://0.0.0.0:8080
2019-06-25 19:44:03,105 INFO [katalyst::server] Listening on https://0.0.0.0:8443
...
使用帮助命令或标志运行以获取所有CLI选项
➤ katalyst help
katalyst 0.2.0
Phil Proctor <[email protected]>
High performance, modular API Gateway
USAGE:
katalyst [OPTIONS] [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --config <config> Config file [default: katalyst.yaml]
-l, --log-level <log-level> Logging level to use [default: info]
SUBCOMMANDS:
help Prints this message or the help of the given subcommand(s)
run Start the API Gateway (default)
配置
有关配置的更多信息,请参阅此处
依赖项
~29MB
~630K SLoC