1个不稳定版本
0.2.0 | 2019年6月26日 |
---|
#49 in #api-gateway
在katalyst中使用
6KB
117 行
Katalyst API网关
Katalyst是一个高性能且内存占用低的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选项指定配置文件。{{版本}}
➤ 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)
配置
请参阅此处的文档
依赖关系
~2MB
~46K SLoC