revoke 0.2.1

A comprehensive microservice framework for Rust
Documentation
# Revoke

[![Crates.io](https://img.shields.io/crates/v/revoke.svg)](https://crates.io/crates/revoke)
[![Documentation](https://docs.rs/revoke/badge.svg)](https://docs.rs/revoke)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Rust Version](https://img.shields.io/badge/rust-1.82%2B-blue.svg)](https://www.rust-lang.org)

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

## 🚀 快速开始

```bash
# 添加到您的项目
cargo add revoke
```

或在 `Cargo.toml` 中添加:

```toml
[dependencies]
revoke = { version = "0.2", features = ["web", "config", "registry"] }
```

```rust
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** - 结构化日志

## 📚 文档

- **[快速入门]./docs/getting-started.md** - 5分钟上手
- **[配置指南]./docs/configuration.md** - 配置参考
- **[API 文档]https://docs.rs/revoke** - 完整 API 文档
- **[示例代码]./examples/** - 实际使用示例

## 🏗️ 项目结构

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

## 💡 示例

查看 [`examples/`](./examples/) 目录了解完整的使用示例:

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

## 🤝 贡献

欢迎贡献!请查看我们的[贡献指南](./docs/contributing.md)。

## 📄 许可证

本项目采用 MIT 许可证 - 详情请参阅 [LICENSE](./LICENSE) 文件。