revoke 0.2.1

A comprehensive microservice framework for Rust
Documentation

Revoke

Crates.io Documentation License: MIT Rust Version

基于 Rust 构建的高性能云原生微服务框架,提供完整的 API 网关和微服务开发工具链。

🚀 快速开始

# 添加到您的项目
cargo add revoke

或在 Cargo.toml 中添加:

[dependencies]
revoke = { version = "0.2", features = ["web", "config", "registry"] }
use revoke::prelude::*;
use revoke::web::{create_app, AppState};

#[tokio::main]
async fn main() -> Result<()> {
    // 创建应用状态
    let app_state = AppState::new(
        "my-service".to_string(),
        "1.0.0".to_string(),
    );
    
    // 创建并启动应用
    let app = create_app(app_state);
    let listener = tokio::net::TcpListener::bind("0.0.0.0:8080").await?;
    axum::serve(listener, app).await?;
    
    Ok(())
}

✨ 核心特性

  • 🔥 高性能 - 基于 Pingora 的高吞吐量 API 网关
  • ⚖️ 负载均衡 - 多种负载均衡策略
  • 🔍 服务发现 - Consul 集成
  • 🔐 安全性 - JWT、OAuth2、限流、熔断
  • 📊 可观测性 - Prometheus、OpenTelemetry 追踪
  • 🐳 云原生 - Docker 和 Kubernetes 支持

📦 模块

  • core - 核心抽象和工具
  • gateway - 高性能 API 网关
  • web - Web 服务框架
  • config - 配置管理
  • metrics - 指标收集
  • tracing - 分布式追踪
  • registry - 服务注册发现
  • log - 结构化日志

📚 文档

🏗️ 项目结构

src/
├── core/       # 核心抽象和工具
├── gateway/    # API 网关实现
├── web/        # Web 框架
├── config/     # 配置管理
├── metrics/    # 指标收集
├── tracing/    # 分布式追踪
├── registry/   # 服务发现
└── log/        # 日志系统

💡 示例

查看 examples/ 目录了解完整的使用示例:

  • tracing-example - 分布式追踪示例
  • users-service - 用户管理微服务
  • orders-service - 订单管理微服务

🤝 贡献

欢迎贡献!请查看我们的贡献指南

📄 许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。