Bosh sahifa Wiki Traffic switch

Traffic switch

Traffic switch — foydalanuvchi yoki servis so‘rovlarini bir backend, versiya yoki muhitdan boshqasiga yo‘naltirish amali. U blue-green cutover, failover, data center migration va canary rolloutda ishlatiladi. Switchning tezligi va aniqligi routing qatlami, cache, session hamda faol connectionlarga bog‘liq.

Amalga oshirish qatlamlari

Layer 7 proxy HTTP host, path, header yoki cookie asosida target tanlaydi. Layer 4 load balancer TCP/UDP connectionni IP va port bo‘yicha yo‘naltiradi. Service mesh servislararo trafikni route weight va identity bilan boshqaradi. DNS esa hostname ni yangi IPga bog‘laydi.

Proxy va mesh odatda switchni tez qo‘llaydi. DNS TTL tugamaguncha resolverlar eski manzilni saqlashi mumkin, ayrim client esa TTLdan uzoq cache qiladi. Shuning uchun DNS cutoverda eski endpoint rollback oynasi davomida mavjud saqlanadi.

Tayyorlik mezonlari

Yangi target kerakli artifact, config, secret va database ulanishiga ega bo‘ladi. Health check, smoke test va capacity sinovi switchdan oldin o‘tadi. Faqat bitta request muvaffaqiyati to‘liq yukni ko‘tara olishni ko‘rsatmaydi.

Warm-up cache, JIT compilation va connection poolni tayyorlaydi. Cold targetga trafikni birdan to‘liq berish latency spike va timeout keltirishi mumkin. Avval kichik ulush bilan pre-warm yoki bosqichli switch bajariladi.

Connectionlar

Yangi connectionlar yangi targetga beriladi, mavjud connectionlar esa eski backendda qolishi mumkin. Connection draining ularni grace period ichida tugatadi. WebSocket, streaming va database connection uzoq yashashi sabab ikki muhit ancha vaqt parallel bo‘ladi.

Client reconnect qilganda idempotency va session continuity saqlanadi. In-memory session eski target bilan yo‘qolishi mumkin. Shared store yoki session replication ishlatiladi.

Data consistency

Blue va green bir database ni bo‘lishsa schema ikkala versiyaga mos bo‘ladi. Alohida database cutoverda write freeze, replication lag va conflict boshqaruvi kerak. Switchdan oldingi so‘nggi write yangi tomonda mavjudligi tasdiqlanadi.

Queue consumer switchi HTTP routingdan farq qiladi. Eski va yangi consumer bir message ni parallel qayta ishlamasligi, partition ownership aniq ko‘chishi kerak. Fencing token yoki consumer group rebalance yordam beradi.

Kuzatuv va qaytish

Switch vaqti, rule version va target audit qilinadi. Error, latency, saturation hamda business metric eski va yangi target bo‘yicha alohida ko‘riladi. Automatic abort threshold buzilganda route ni eski tomonga qaytarishi mumkin.

Rollback faqat routingni almashtiradi. Yangi target yaratgan data, notification yoki migration qoladi. Reconciliation va compensation rejasi bo‘lmasa “tez qaytarish” to‘liq recovery bermaydi.

Xavfsizlik

Routing control plane yuqori vakolatli. Ruxsatsiz switch trafikni hujumchi backendga yuborishi mumkin. MFA, approval, least privilege va signed configuration qo‘llanadi. Emergency override qisqa muddat va to‘liq audit bilan bajariladi.

Nazorat tekisligi

Traffic switch buyrug‘i control plane orqali tarqaladi, ammo barcha proxy va resolverlar uni bir onda ko‘rmasligi mumkin. Configuration version va applied timestamp har data-plane instance bo‘yicha kuzatiladi. DNS almashtirishda TTLdan tashqari recursive resolver va client cache xatti-harakati ham bor. Proxy route o‘zgarishida eski persistent connection avvalgi backendda qolishi mumkin. Shu sabab switch yakuni faqat konfiguratsiya qabul qilingani emas, real requestlar kutilgan versiyaga yetayotgani bilan tasdiqlanadi.

Bog‘liq tushunchalar

Blue-green deployment, Load balancer, DNS cutover, Connection draining, Failover, Traffic splitting, Rollback