In-process rate limiter

Rate limiterin-process-limiter

Library rate limiter holding state inside the application process.

Provider
default
Category
Edge
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
algorithmenumtoken-bucket | leaky-bucket | sliding-window | fixed-window | adaptivenotoken-bucketinherited
atomicOps · advancedboolean—notrue▸ true
distributedboolean—nofalse▸ false
failModeenumopen | closednoopeninherited
managedboolean—nofalseinherited
perReplicaQuotaDivision · component propertyboolean—nofalseinherited
placementenumedge | gateway | sidecar | in-processnogateway▸ in-process
scopeenumglobal | user | ip | api-key | concurrencynouserinherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "in-process-limiter", component: "in-process-limiter" }
Other Rate limiter products · 6
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# In-process rate limiter (library): per-replica state, so quotas are not shared across instances.
schemaVersion: "1"
type: "component"
id: "in-process-limiter"
kind: "rate-limiter"
provider: "default"
docs: "https://en.wikipedia.org/wiki/Token_bucket"
defaults:
  placement: "in-process"
  distributed: false
  atomicOps: true
properties:
  perReplicaQuotaDivision:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/components/in-process-limiter.md