مقياسپذيري افقي چه مي باشد؟
مقياسپذيري افقي چه مي باشد؟يك كلاستر به گروهي از سرورها گفته ميگردد. يك سرور توزيع توشه (load balancer) توشه كاري را در بين سرورهاي جان دار در كلاستر توزيع مي كند. هر عصر يك اينترنتسرور نو ميتواند به يك كلاستر مو جود طولاني تر شود تا درخواستهاي بيشتري كه از سوي يوزرها به سمت نرم افزار شما مي آيد را مدير نمايد، بهاين فعاليت مقياسپذيري افقي گفته مي شود.
طراحي اپليكيشن
مثالاي از مقياسپذيري افقي در نمودار پايين ارائه شدهاست:
سرور توزيع توشه فقط يك مسئوليت دارااست: تصميمگيري در زمينهي اين كه كدام سرور در كلاستر، يك درخواست كه پذيرفته شدهاست را اخذ خواهد كرد. اين سرور اصولاً مانند يك پراكسي معكوس (reverse غير مجاز مي باشد) كار مينمايد و سبب مي گردد كل فرآيند در لحاظ استفاده كننده يكدست به لحاظ بيايد.
با اين كه مقياسپذيري افقي معمولاً روشي پايدارتر و كارآمدتر براي مقياسپذيري به حساب ميآيد البته به اندازه نحوه مقياسپذيري عمودي بي آلايش وجود ندارد.
معضلهاي مقياسپذيري افقيبه صورت خلاصه، بحرانهاي عمده مقياسپذيري نرم افزارهاي اينترنت اين ميباشد كه مي بايست كليه گرهها در يك كلاستر بهروز و همگام محافظت شوند. سناريوي تحت را در لحاظ بگيريد:
هنگامي كه استفاده كننده A يك درخواست به mydomain.com ارسال مي نمايد، سرور توزيع توشه درخواستها را به سرور 1 ارسال مي كند. از سوي ديگر درخواست استفاده كننده B به سرور ديگري به اسم سرور 2 در كلاستر ارسال ميگردد.
اكنون، سؤال اين ميباشد كه در صورتي استفاده كننده A تغييري در نرم افزار توليد نمايد، براي مثالً فايلي آپلود نمايد يا اين كه بخشي از محتواي نرم افزار را تغيير تحول دهد، چه اتفاقي در مقر داده ميفتد؟ به چه شكل ميقدرت انسجام محتوا را بين همگي گرههاي كلاستر مراقبت كرد؟ به علاوه PHP داده ها جلسه (session) را به صورت پيش فرض روي ديسك ذخيره مينمايد. چنانچه استفاده كننده A وارد نرم افزار شود، با اعتنا بدين كه سرور توزيع توشه ممكن ميباشد هر توشه درخواست اين استفاده كننده را به سرور ديگري ارسال نمايد، چهطور ميقدرت استفاده كننده را در مراجعات بعدي به خيال نگه داشت؟
درپي نحوههاي فائق وارد شدن بر اين اشتباهات و مهياسازي نرم افزار PHP جان دار براي مقياسپذيري افقي را توضيح مي دهيم.
تجزيه، تجزيه، تجزيهآمده سازي يك سيستم براي مقياسپذيري مشتمل بر مقدار متعددي تجزيه ميباشد. چون در مقياسپذيري ضروري ميباشد كه تعداد متعددي سرورهاي كوچك بامسئوليتهاي محدود به جاي يك سرو غولپيكر تماميكاره داشته باشيم. اين حالت، جوهره مقياسپذيري افقي را تشكيل ميدهد. تجزيه نرم افزار به بخشهاي گوناگون سبب ميگردد بتوانيد تنگناهاي حقيقي وواقعي كه در نرم افزار خويش داريد را شناسايي و ترميم نمائيد.
يك نرم افزار PHP را در لحاظ بگيريد كه يوزرها ميتوانند وارد آن گرديده و عكسهايي را آپلود نمايند. اين نرم افزار از استك شالوده LAMP استعمال مي كند و عكسها روي ديسك ذخيره گرديده و نشاني آن ها در مقر داده ذخيره ميگردد. دراين نمايش بحران اين ميباشد كه ميان تعدادي سرور نرم افزار كه دادههاي يكساني را به اشتراك نهادهاند يكپارچگي و انسجام مراقبت شود.
برچسب: طراحي اپليكيشن،