1个不稳定版本

0.2.0 2019年6月26日

#49 in #api-gateway


katalyst中使用

MIT许可

6KB
117

Katalyst API网关

Crate 0.2.0 Build Status Documentation MIT License Maintenance

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