Skip to main content

> FLOW_BACKPRESSURE // None // AP

Çok-Katmanlı Dağıtık Hız Sınırlayıcı (Token Bucket & Sliding Window)

Çok-kiracılı kotaları milisaniye-altı ek yükle zorunlu kılmak için yerel bellek token bucketlarını Redis kayan-pencere log koordinasyonuyla birleştiren hız sınırlayıcı.

Tüm Dağıtık Mimarilere Dön
CAP: APPACELC: PA/ELConsensus: None

Mimarî Problem ve Çözüm Hipotezi

Merkezi hız sınırlayıcılar, her API isteği uzak bir Redis gidiş-dönüşü yapmak zorunda kaldığında (3-5ms gecikme ekleyerek) tek hata noktası ve darboğaz oluşturur.

Resmi Dağıtık Sistem Garantileri

  • ⚡Sub-millisecond rate check latency (<0.4ms) via local in-memory token cache
  • ⚡Zero over-allocation beyond configured burst limit across distributed cluster
  • ⚡Standardized HTTP 429 response headers (`Retry-After`, `X-RateLimit-Remaining`)

Ele Alınan Hata Tipleri

DS-FAIL-08: Thundering Herd Cache Stampede
DS-FAIL-11: Unbounded In-Flight Queue Exhaustion
Ham Döküm & İndirmeHam Markdown Görüntüle

3 Ölçek ve Olgunluk Konfigürasyonu

Başlangıç kümesinden multi-datacenter ultra-ölçek seviyesine kadar kademeli üretim konfigürasyonları.

INITIAL TIER
Verim Hedefi:

10,000 checks/sec

p99 Gecikme:

< 4ms

Teslimat Garantisi:

Redis Atomic Lua Script Rate Limiting

Altyapı Topolojisi:

API Gateway calls Redis Lua script on each request.

Bileşen Yığını:
Redis (Single Instance)Lua Token Bucket Script
⚠️ Operasyonel Ödünleşim: Redis single-thread bottleneck limits total cluster rate-check throughput.
SCALED TIER
Verim Hedefi:

120,000 checks/sec

p99 Gecikme:

< 1.2ms

Teslimat Garantisi:

Two-Tier Local Token Leases + Redis Sliding Window Log

Altyapı Topolojisi:

Envoy sidecars cache batches of tokens locally; periodically sync aggregate usage with Redis Cluster.

Bileşen Yığını:
Envoy Global Rate Limit Service (ratelimit)Redis Cluster
⚠️ Operasyonel Ödünleşim: Slight potential over-burst (1-2%) if multiple pods consume their local batch simultaneously.
ULTRA_SCALE TIERMISSION CRITICAL
Verim Hedefi:

2,000,000 checks/sec

p99 Gecikme:

< 0.3ms

Teslimat Garantisi:

Kernel eBPF Token Bucket Filter with Hardware Offload

Altyapı Topolojisi:

Packets dropped directly at the Linux network driver level (XDP) before reaching TCP stack if IP/token is exceeded.

Bileşen Yığını:
eBPF XDP Rate LimiterAerospike SyncBGP Anycast Gateways
⚠️ Operasyonel Ödünleşim: Requires direct eBPF kernel program development and maintenance.

Altyapı Kodları: Terraform, Kubernetes & Motor Konfigürasyonları

Doğrudan üretim kümelerine uygulanabilir doğrulukta açık kaynak altyapı otomasyon manifestoları.

Terraform (HCL)main.tf
resource "aws_elasticache_cluster" "ratelimit_redis" {
  cluster_id           = "tinycto-ratelimit-redis"
  engine               = "redis"
  node_type            = "cache.m7g.xlarge"
  num_cache_nodes      = 1
  parameter_group_name = "default.redis7"
  port                 = 6379
}
Kubernetes (YAML)k8s-manifest.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: envoy-ratelimit
spec:
  replicas: 4
  template:
    spec:
      containers:
        - name: ratelimit
          image: envoyproxy/ratelimit:v1.6.0
          env:
            - name: REDIS_SOCKET_TYPE
              value: "tcp"
            - name: REDIS_URL
              value: "redis:6379"
Engine Configurationconfig.properties
-- Redis Sliding Window Token Bucket Lua Script
local key = KEYS[1]
local limit = tonumber(ARGV[1])
local current = tonumber(redis.call('get', key) or "0")
if current + 1 > limit then
  return 0 -- Rejected (429)
else
  redis.call("INCRBY", key, 1)
  if current == 0 then
    redis.call("EXPIRE", key, 1)
  end
  return 1 -- Allowed
end
Yapay Zekâ Özeti — Çok-Katmanlı Dağıtık Hız Sınırlayıcı (Token Bucket & Sliding Window)
AEO / GEO / Perplexity Indexable

Çok-kiracılı kotaları milisaniye-altı ek yükle zorunlu kılmak için yerel bellek token bucketlarını Redis kayan-pencere log koordinasyonuyla birleştiren hız sınırlayıcı.

CAP & PACELC TeoremleriCAP: AP // PACELC: PA/EL
Uzlaşı ProtokolüNone
Ultra-Ölçek Verimi2,000,000 checks/sec (< 0.3ms)
Ele Alınan Hata ModlarıDS-FAIL-08: Thundering Herd Cache Stampede; DS-FAIL-11: Unbounded In-Flight Queue Exhaustion

Mimarî Plan Sıkça Sorulan Sorular

Çok-Katmanlı Dağıtık Hız Sınırlayıcı (Token Bucket & Sliding Window) mimarisinin CAP ve PACELC teoremleri altındaki matematiksel sınıflandırması nedir?

Çok-Katmanlı Dağıtık Hız Sınırlayıcı (Token Bucket & Sliding Window), CAP teoreminde AP ve PACELC teoreminde PA/EL olarak modellenmiştir. Ağ bölünmesi (Partition) durumunda erişilebilirlik (Availability) önceliklendirilirken, normal çalışma durumunda gecikme ile tutarlılık dengesi korunur.

Bu mimari hangi dağıtık uzlaşı protokolünü (None) kullanır ve lider seçimi nasıl işler?

Bu mimari None protokolünü kullanır. Düğümler arası durum çoğaltması (state replication) ve liderlik seçimi çoğunluk oyu (quorum) ile garanti altına alınır; bölünmüş beyin (split-brain) durumu monotonik dönem numaraları (epoch/term) ve fencing belirteçleriyle engellenir.

Bu mimari hangi dağıtık hata modlarını (Failure Modes) bertaraf eder?

Bu mimari şu kritik dağıtık sistem arızalarını ele alır: DS-FAIL-08: Thundering Herd Cache Stampede, DS-FAIL-11: Unbounded In-Flight Queue Exhaustion. Sistem veri kaybı olmadan otomatik hata devri ve durumsal yakınsama sağlar.

INITIAL ile ULTRA_SCALE seviyeleri arasındaki verim (Throughput) ve p99 gecikme farkları nelerdir?

INITIAL seviyesi 10,000 checks/sec hedefi ve < 4ms p99 gecikmesi sağlarken (API Gateway calls Redis Lua script on each request.), ULTRA_SCALE seviyesi 2,000,000 checks/sec ve < 0.3ms sunar (Packets dropped directly at the Linux network driver level (XDP) before reaching TCP stack if IP/token is exceeded.). Bileşenler: eBPF XDP Rate Limiter, Aerospike Sync, BGP Anycast Gateways.

Bu mimari Altyapı Kodu (IaC) ve motor ayarlarıyla nasıl devreye alınır?

Bu sayfada sunulan Terraform (main.tf), Kubernetes dağıtım bildirimleri (k8s-manifest.yaml) ve motor konfigürasyon parametreleri (config.properties) doğrudan üretime hazır olarak sağlanmıştır.