ورود

View Full Version : نحوه برنامه نویسی برای سیستمهای بزرگ پر کاربر



joker
سه شنبه 15 شهریور 1390, 04:34 صبح
به نظر شما بهترین روش ها برای برنامه نویسی سیستمهای بزرگ پر کاربر ( بیش از 10 میلیون کاربر همزمان) به چه صورت هست ؟

با فرض در اختیار داشتن تعداد نامحدود سرور پرقدرت با پهنای باند کافی روی شبکه :

تقسیم بار ضمن یکپارچگی اطلاعات چگونه انجام میشه؟
از چه سیستم هایی باید همزمان استفاده کرد ؟
تقسیم کار روی چند سرور به صورت موازی به چه صورت باید باشه ؟
چه سیستم هایی به عنوان بیس و آماده موجود هست ( مثلا کلاسترینگ ) ؟
تقسیم وظایف thread ها به چه صورت باید باشه ؟
سرور مرکزی یا سرور مادر یا سروهای مادر چطوری یکپارچگی عملکردشون را باید حفظ کرد ؟

BORHAN TEC
دوشنبه 21 شهریور 1390, 18:30 عصر
فکر می کنم اگه این موضوع را بتوانید از طریق مراکزی مثل بانکها و... پیگیری کنید زود تر به نتیجه برسید.

مهران رسا
شنبه 26 شهریور 1390, 10:17 صبح
به نظر شما بهترین روش ها برای برنامه نویسی سیستمهای بزرگ پر کاربر ( بیش از 10 میلیون کاربر همزمان) به چه صورت هست ؟

با فرض در اختیار داشتن تعداد نامحدود سرور پرقدرت با پهنای باند کافی روی شبکه :

تقسیم بار ضمن یکپارچگی اطلاعات چگونه انجام میشه؟
از چه سیستم هایی باید همزمان استفاده کرد ؟
تقسیم کار روی چند سرور به صورت موازی به چه صورت باید باشه ؟
چه سیستم هایی به عنوان بیس و آماده موجود هست ( مثلا کلاسترینگ ) ؟
تقسیم وظایف thread ها به چه صورت باید باشه ؟
سرور مرکزی یا سرور مادر یا سروهای مادر چطوری یکپارچگی عملکردشون را باید حفظ کرد ؟
به نظر من برای انجام کارهایی در این حجم، بهتره به جای TCP/IP از Http استفاده کنید.

BORHAN TEC
شنبه 26 شهریور 1390, 23:46 عصر
به نظر من برای انجام کارهایی در این حجم، بهتره به جای TCP/IP از Http استفاده کنید.
چرا بهتره از http استفاده بشه؟

vcldeveloper
یک شنبه 27 شهریور 1390, 13:16 عصر
به نظر شما بهترین روش ها برای برنامه نویسی سیستمهای بزرگ پر کاربر ( بیش از 10 میلیون کاربر همزمان) به چه صورت هست ؟
10 میلیون کاربر همزمان؟!! فیس بوک ایرانی هست؟!


تقسیم بار ضمن یکپارچگی اطلاعات چگونه انجام میشه؟
از چه سیستم هایی باید همزمان استفاده کرد ؟
تقسیم کار روی چند سرور به صورت موازی به چه صورت باید باشه ؟
چه سیستم هایی به عنوان بیس و آماده موجود هست ( مثلا کلاسترینگ ) ؟
تقسیم وظایف thread ها به چه صورت باید باشه ؟
سرور مرکزی یا سرور مادر یا سروهای مادر چطوری یکپارچگی عملکردشون را باید حفظ کرد ؟
تعداد کاربران همزمانی که ذکر کردید، خیلی بالا ست. فریم ورک های موجود برای دلفی برای این سبک از کارها، مثل DataSnap یا RemObjects SDK، برای این حجم از کار بهینه سازی نشدند، و احتمال کم آوردن شان بسیار زیاد هست. در همچین حجمی اگر کار دلفی هست، باید برید سراغ پیاده سازی راهکارهای خودتان. اگر کار با سایر ابزارهای برنامه نویسی هست که نسبت به دلفی مخاطبان بیشتری دارند (مثل ++C) شاید کتابخانه هایی برای تسهیل کار پیدا کنید. در هر حال با این حجم کاربر همزمان، به نظرم شما باید برای پیاده سازی این قابلیت ها سوالات تان را در تالار الگوریتم ها بپرسید؛ مثلا چه الگوریتم هایی برای کلاسترینگ در حجم بالا وجود دارند؟ و امثال آن.

anouri
سه شنبه 05 مهر 1390, 02:05 صبح
در مورد دیتابیس میتونم بگم که میشه از روش REPLICATIONاستفاده کرده و یک سرور نداشت. برنامه باید THREAD بیس باشه و بتونه عملیات رو بر روی CPU های متعدد توزیع کنه.همه داده نباید لود بشن
مثلا این کوئری اشتباه خواهد بود
SELECT * FROM TABLE

که این کوئری خیلی مورد علاقه برنامه نویسان ایرانیه در حالیکه نباید این کار رو کرد باید مثل گوگل اطلاعات رو ضفحه بندی کرد و ...

gbg
سه شنبه 05 مهر 1390, 10:41 صبح
برای 10 میلیون کاربر باید به فکر CPU و پهنای باند مناسب هم بود
فکر نکنم بتونی به روی یک کامپیوتر و سرور به راحتی جواب بگیری
بهینه سازی کد و جداول هم خیلی مهم هستش