2个不稳定版本

0.2.0 2019年6月26日
0.1.3 2019年4月1日
0.1.2 2019年2月17日
0.1.1 2019年2月17日
0.1.0 2019年2月17日

#22 in #round-robin

每月 28次下载

MIT 许可证

130KB
3K SLoC

催化剂API网关

Crate 0.2.0 Build Status Documentation MIT License Maintenance

催化剂是一个高性能且内存低下的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