百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
A

aperture

> 云原生
开源

针对现代工作负载的速率限制、缓存和请求优先级

731 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

针对现代工作负载的速率限制、缓存和请求优先级

FluxNinja Aperture

Aperture is a distributed load management platform designed for rate limiting, caching, and prioritizing requests in cloud applications. Built upon a foundation of distributed counters, observability, and a global control plane, it provides a comprehensive suite of load management capabilities. These capabilities enhance the reliability and performance of cloud applications, while also optimizing cost and resource utilization.

Integrating Aperture in your application through SDKs is a simple 3-step process:

  • Define labels: Define labels to identify users, entities, or features within your application. For example, you can define labels to identify individual users, features, or API endpoints.

    Example

…
  • Wrap your workload: Wrap your workload with startFlow and endFlow calls to establish control points around specific features or code sections inside your application. For example, you can wrap your API endpoints with Aperture SDKs to limit the number of requests per user or feature.

    Example

…
  • Configure & monitor policies: Configure policies to control the rate, concurrency, and priority of requests.

    Policy YAML

blueprint: rate-limiting/base
uri: github.com/fluxninja/aperture/blueprints@latest
policy:
  policy_name: rate_limit
  rate_limiter:
    bucket_capacity: 60
    fill_amount: 60
    parameters:
      interval: 3600s
      limit_by_label_key: user
    selectors:
      - control_point: your_workload
        label_matcher:
          match_list:
            - key: tier
              operator: In
              values:
                - premium

In addition to language SDKs, Aperture also integrates with existing control points such as API gateways, service meshes, and application middlewares.

⚙️ Load management capabilities

  • ⏱️ Global Rate and Concurrency Limiting: Safeguard APIs and features against excessive usage with Aperture's high-performance, distributed rate limiter. Identify individual users or entities by fine-grained labels. Create precise rate limiters controlling burst-capacity and fill-rate tailored to business-specific labels. Limit per user or global concurrency of in-flight requests. Refer to the Rate Limiting and Concurrency Limiting guides for more details.
  • API Quota Management: Maintain compliance with external API quotas with a global token bucket and smart request queuing. This feature regulates requests aimed at external services, ensuring that the usage remains within prescribed rate limits and avoids penalties or additional costs. Refer to the API Quota Management guide for more details.
  • Concurrency Control and Prioritization: Safeguard against abrupt service overloads by limiting the number of concurrent in-flight requests. Any requests beyond this limit are queued and let in based on their priority as capacity becomes available. Refer to the Concurrency Control and Prioritization guide for more details.
  • Workload Prioritization: Safeguard crucial user experience pathways and ensure prioritized access to external APIs by strategically prioritizing workloads. With weighted fair queuing, Aperture aligns resource distribution with business value and urgency of requests. Workload prioritization applies to API Quota Management and Concurrency Control and Prioritization use cases.
  • Caching: Boost application performance and reduce costs by caching costly operations, preventing duplicate requests to pay-per-use services, and easing the load on constrained services. Refer to the Caching guide for more details.

Getting Started

☁️ Aperture Cloud

[!NOTE]

FluxNinja has been acquired by CodeRabbit. New sign-ups are temporarily disabled. Existing users can continue to use Aperture Cloud by signing in to their accounts.

The easiest way to try Aperture is to sign up for a free Aperture Cloud account. Aperture Cloud is a fully managed service by FluxNinja. With Aperture Cloud, there's no need to manage any infrastructure, and you can integrate your application with Aperture using SDKs. For more information, refer to the get started guide.

Prioritization Metrics for gpt-4

Performance Metrics for OpenAI Models

Local Kubernetes Playground

To try Aperture in a local Kubernetes environment, refer to Playground docs.

Learn More

  • Concepts section in Aperture documentation provides an overview of Aperture's features and architecture.
  • Guides section in Aperture documentation.
  • Observability-driven Load Management deck covers the overview and use-cases of Aperture.

Videos

  • IstioCon 2023 | Achieving Fault Tolerance in Istio with Observability-Driven Load Management
  • SREcon'23 APAC | Mastering Chaos: Achieving Fault Tolerance with Observability-Driven Prioritized Load Shedding
  • Chaos Carnival 2023 | Graceful Degradation: Keeping The Lights On When Everything Goes Wrong
  • Conf42 Chaos Engineering 2023 | Graceful Degradation: When All Goes Wrong
  • Demo | How Concurrency Limits Help Protect Against Cascading Failures
  • Explainer | Build Indestructible Applications with Aperture Flow Control

Contributing

Reporting bugs helps us improve Aperture to be more reliable and user-friendly. Include all the required information to reproduce and understand the bug you are reporting. Follow helper questions in the bug report template to make it easier. If you see a way to improve Aperture, use the feature request template to create an issue.

To contribute code, read the Contribution guide.

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Gocachingcloud-nativeconcurrency-limiterkubernetes

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类云原生
定价开源

> 相关工具

K
Kubernetes
容器编排事实标准
H
Helm
Kubernetes 包管理器
S
seaweedfs
SeaweedFS is a distributed storage system for object storage (S3), file systems, and Iceberg tables,