مدیریت ترافیک هوشمند

کنترل و توزیع ترافیک با Load Balancing، Rate Limiting و ابزارهای پیشرفته کلودفلر

99.99%
آپتایم تضمینی
10ms
زمان تشخیص خرابی
100+
سرور همزمان
رایگان
در طرح Pro
Load Balancing

توزیع هوشمند بار

توزیع ترافیک بین چندین سرور برای حداکثر کارایی و قابلیت اطمینان

Load Balancing چیست؟

تعریف:

توزیع درخواست‌های کاربران بین چندین سرور برای جلوگیری از اضافه بار و افزایش پایداری.

کاربرد:

وقتی یک سرور خراب می‌شود، ترافیک به طور خودکار به سرورهای سالم منتقل می‌شود.

مزیت:

۹۹.۹۹٪ آپتایم، سرعت بالا و توزیع بهینه منابع.

مثال عملی

سرور آمریکا
60%
سرور اروپا
45%
سرور آسیا
خراب
ترافیک به طور خودکار به سرورهای سالم منتقل شد

روش‌های Load Balancing

Round Robin

توزیع به ترتیب بین سرورها

Least Connections

ارسال به کم‌ترافیک‌ترین سرور

Geographic

بر اساس موقعیت جغرافیایی

Weighted

بر اساس ظرفیت سرورها

Health Checks

کلودفلر به طور مداوم سلامت سرورها را بررسی می‌کند و سرورهای خراب را از چرخه خارج می‌کند.

HTTP Health Check

بررسی پاسخ HTTP از سرور

GET /health → 200 OK

TCP Health Check

بررسی اتصال TCP

TCP Connect → Port 80

Custom Health Check

بررسی سفارشی با API

POST /api/health

تنظیمات پیشرفته

فاصله بررسی30 ثانیه
Timeout5 ثانیه
تعداد تلاش3 بار
Recovery Time60 ثانیه

نکته: تنظیمات بهینه بر اساس نوع اپلیکیشن و نیازهای شما متفاوت است.

Rate Limiting

کنترل نرخ درخواست

محدود کردن تعداد درخواست‌ها برای جلوگیری از سوءاستفاده و حملات

Rate Limiting چیست؟

تعریف:

محدود کردن تعداد درخواست‌هایی که یک کاربر یا IP می‌تواند در بازه زمانی مشخص ارسال کند.

کاربرد:

جلوگیری از حملات DDoS، محافظت از API و کنترل مصرف منابع سرور.

مزیت:

امنیت بالا، کاهش هزینه و تضمین دسترسی عادلانه برای همه کاربران.

مثال Rate Limiting

کاربر عادی✓ مجاز
درخواست‌ها: 45/100 در دقیقه
کاربر پرترافیک⚠ هشدار
درخواست‌ها: 85/100 در دقیقه
حمله‌کننده✗ مسدود
درخواست‌ها: 150/100 در دقیقه

انواع قوانین Rate Limiting

بر اساس IP

محدودیت برای هر آدرس IP

100 req/min per IP

بر اساس User

محدودیت برای هر کاربر

1000 req/hour per user

بر اساس Endpoint

محدودیت برای API خاص

/api/upload: 10 req/min

تنظیمات نمونه

# Rate Limiting Rules
if (http.request.uri.path matches "/api/*")
rate_limit: 100 requests per minute
action: block
if (http.request.uri.path matches "/login")
rate_limit: 5 requests per minute
action: challenge
API Endpoints
100 درخواست در دقیقه
Login Page
5 درخواست در دقیقه (جلوگیری از Brute Force)

اقدامات پس از تخطی

Log

ثبت درخواست بدون مسدودسازی

Challenge

نمایش CAPTCHA یا JS Challenge

Block

مسدودسازی کامل درخواست

Simulate

تست قوانین بدون اعمال

تحلیل ترافیک

مانیتورینگ و تحلیل الگوهای ترافیک برای بهینه‌سازی

مانیتورینگ لحظه‌ای

درخواست‌های فعال
1,247/sec
Cache Hit Rate
87.3%
میانگین Response Time
142ms
درخواست‌های مسدود
23/min

الگوهای ترافیک

ساعت اوج (14:00-16:00)2,500 req/sec
ساعت عادی (10:00-12:00)1,200 req/sec
ساعت کم (02:00-06:00)300 req/sec

بینش: ترافیک در ساعات اداری ۸ برابر بیشتر از شب است

توزیع جغرافیایی ترافیک

45%
ایران
1,125 req/sec
25%
اروپا
625 req/sec
20%
آمریکا
500 req/sec
10%
سایر
250 req/sec

راه‌اندازی مدیریت ترافیک

راهنمای گام به گام تنظیم Load Balancing و Rate Limiting

۱

ایجاد Load Balancer

در پنل کلودفلر، بخش Traffic → Load Balancing را انتخاب کنید.

# تنظیمات Load Balancer
Name: api-load-balancer
Hostname: api.example.com
TTL: 30 seconds
۲

اضافه کردن Origin Pools

سرورهای مقصد را تعریف کرده و Health Check تنظیم کنید.

Primary Pool
server1.example.com:80
server2.example.com:80
Backup Pool
backup1.example.com:80
backup2.example.com:80
۳

تنظیم Rate Limiting

در بخش Security → Rate Limiting قوانین محدودیت تعریف کنید.

API Rate Limit
100 requests per minute per IP
Login Protection
5 requests per minute per IP
۴

مانیتورینگ و بهینه‌سازی

عملکرد را مانیتور کرده و تنظیمات را بر اساس الگوهای ترافیک بهینه کنید.

Health Status
All servers healthy
Response Time
Average: 120ms
Success Rate
99.8%

بهترین روش‌ها

نکات مهم برای مدیریت بهینه ترافیک

Health Check مناسب

Health Check را بر اساس نوع اپلیکیشن تنظیم کنید. برای API از HTTP، برای دیتابیس از TCP استفاده کنید.

توصیه: فاصله 30 ثانیه، Timeout 5 ثانیه

Rate Limiting تدریجی

محدودیت‌ها را تدریجی اعمال کنید. ابتدا Log، سپس Challenge و در نهایت Block.

توصیه: ابتدا در حالت Simulate تست کنید

مانیتورینگ مداوم

آمار ترافیک را مرتب بررسی کنید و الگوهای غیرعادی را شناسایی کنید.

توصیه: Alert برای تغییرات ناگهانی ترافیک

Failover سریع

Pool های Backup تعریف کنید تا در صورت خرابی سرور اصلی، ترافیک منتقل شود.

توصیه: حداقل 2 سرور در هر Pool

تست منظم

تنظیمات Load Balancing و Rate Limiting را به طور منظم تست کنید.

توصیه: تست ماهانه Failover scenarios

بهینه‌سازی مداوم

بر اساس آمار ترافیک، تنظیمات را بهینه کنید و الگوریتم Load Balancing را تغییر دهید.

توصیه: بررسی ماهانه Performance metrics

مرحله بعدی چیست؟

حالا که مدیریت ترافیک را یاد گرفتید، با سایر خدمات پیشرفته کلودفلر آشنا شوید