Reza Mohammadi
Software Developer @ Cafe Bazaar
مدیر محصول در کافهبازار
این دستگاه دو سال به کاربران کافهبازار سرویس داد.
روزهای آخر، کار بیش از یک میلیون کاربر در روز را راه میانداخت.
روحش شاد، یادش گرامی باد.
هماکنون بیش از دوجین سرور که اکثراً مجهز به دو سیپییوی ®Xeon هستند در سرویسدهی به حدود ۲۰ میلیون دستگاه فعال (در دو ماه) با همدیگر همکاری میکنند.
کاربران بازار به طور متوسط در حال بلعیدن حدود 8Gb/s محتوا از سرورهای به اصطلاح خودمون CDN بازار هستند.
پیک انتهای راست تصویر مربوط به آپدیت Clash of Clans است.
Mike Krieger
Co-founder @ Instagram
در ابتدای کار سرویسدهی به میلیونها کاربر از طریق سرورهای متعدد را پیشبینی کنید.
نسخهای مناسب برای
شکست کسب و کار
المپیاد فیزیک جهانی ۲۰۰۷ – اصفهان
آپاچی به ازای هر کانکشن رم زیادی را اشغال میکرد، چرا که تمامی ماژولها را لود میکرد.
کانکشنها در ایران کند بودند، و لذا مدت بیشتری از آنچه در سناریوهای متداول مطرح است باز میماندند.
بدین ترتیب نهایتاً به معماری فعلی رسیدیم...
پروسهٔ master صبر میکند تا کاربر درخواستش را کامل بیان کند، سپس درخواست را به یکی از workerها پاس میدهد. worker پس از محاسبهٔ نتیجه، آنرا فوراً به master اعلام میکنند و برای درخواست بعدی آماده میشوند. master این جواب را متناسب با سرعت کانکشن به کاربر میرساند.
سریع و سبک
برای محتوای پویا باید به سرویسدهندهٔ اصلی پروکسیاش کنید.
location ^~ /json {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_pass http://gunicorn_json;
client_max_body_size 40K;
access_log /var/log/nginx/json.log for_gunicorn;
}
DATABASES = {
'default': { ... },
'readonly': { ... }
}
ApplicationPurchase.objects.using('readonly')
.filter(app=app)
.aggregate(Sum('amount'), Count('amount'))
By Reza Mohammadi