Subscribe Twitter
Showing posts with label system. Show all posts
Showing posts with label system. Show all posts

Wednesday, August 18, 2010

මොනවද මේ Web Servers

වෙබ් ‍සර්වර් එකක් කියන්නේ සරලවම කිව්වොත්, සේවාදායකයන්(Clients) හට වෙබ් පිටු ලබා දෙන වැඩසටහනක්. මේ වෙබ් ‍සර්වර් පරිගණකයක් ඇතුළේ වෙබ් අඩවියක් හෝ කීපයක් තියෙන්න පුළුවන්. අන්තර්ජාලය ඔස්සේ මෙවැනි ‍වෙබ් පිටු සේවාදායකයන් හට ලබාදීම සඳහා HTTP නැතහොත් Hyper Text Transfer Protocol නැමති ‍ප්‍රොටෝකෝලය භාවිතා වෙනවා.

සාමාන්‍ය කුඩා ප්‍රමාණයේ වෙබ් අඩවි ස්ථාපනය(Host) කිරීම සඳහා  හවුල්(Shared) වෙබ් සර්වරස් භාවිතා වෙනවා. ඒ කියන්නේ එක වෙබ් සර්වර් එකක් තුළ වෙබ් අඩවි කිහිපයක් තැන්පත් කිරීමයි. මේ සඳහා Virtual Hosting නැමති ක්‍රමය භාවිතා වෙනවා. මෙහි ද ප්‍රචලිත උපක්‍රම දෙකක් තිබෙනවා.
  • Name Based Virtual Hosting
    මෙම ක්‍රමයේදී සිදුවන්නේ එක් Server පරිගණකයක විවිධ ‍ඩොමෙයින් නාම(Domain Name) සහිත වෙබ් අඩවි තැන්පත් කිරීමයි.
  • IP Based Virtual Hosting
    මෙම ක්‍රමයේදී  එක් Server පරිගණකයකට විවිධ IP Address සහිත වෙබ් අඩවි තැන්පත් කිරීමයි. මෙහිදී එකම පරිගණකය විවිධ IP Address සඳහා වෙබ් සේවාව සපයයි.
එනමුත් විශාල පරිමාණයේ වෙබ් අඩවි ස්ථාපනය කිරීම සඳහා වෙන්කරන ලද(Dedicated) Server පරිගණක භාවිතා කරනවා. ඒවාගේම ඒවායේ සර්වර් ධාරිතාව ඉතා අධික වන අතර අන්තරජාල සබඳතා වේගය(Bandwidth) ද අධික වෙනවා. මෙවැනි ‍අධික Traffic එකක් සහිත වෙබ් අඩවි සඳහා එක් ‍Server පරිගණකයක් පමණක් භාවිතා කිරීමෙන් එහි  ප්‍රොසෙසින් ධාරිතාව(Processing Power), මතක ධාරිතාව(Ram Capacity), දත්ත ගබඩා පරිශ්‍රීලන(Database Access) හැකියාව වැනි දෑ ඉක්මවා යාමෙන් සේවාදායකයන් සඳහා නිසි පරිදි සේවාව සැපයීම කළ නොහැකි විය හැකි අතරම එම වෙබ් අඩවිය අකර්මණ්‍ය(Down) විමේ අවදානම වැඩි වෙනවා.

එබැවින් එවැනි වෙබ් අඩවි පවත්වාගෙන යාමේදී තවත් කරුණු කිහිපයක් ගැන සලකා බලනවා.
  • උපරිම උපයෝජ්‍යතාව(High Availability)
    මෙහිදී වෙබ් සර්වරයේ  ක්‍රියාකාරීත්වය  ගැන විශේෂව සලකා බලනවා. සේවාදායකයන්ට එක දිගටම වෙබ් අඩවිය අකර්මණ්‍ය(Down) නොවී සේවාව ලබාදීම මෙහි අරමුණයි. මෙහිදී වෙබ් සර්වරස් කිහිපයක්, අන්තර්ජාල සබඳතා කිහිපයක් යොදා ගනිමින් එකක් අඩාල වුවහෙත් අනෙක ස්වයංක්‍රීයව හාවිතා වන පරිදි සකස් කර තියෙන්වා.
  • භාරය තුලනය(Load Balancing)
    මෙහිදී  මුළු කාර්යභාරය Server පරිගණක කිහිපයකට භාර දෙනවා. ‍මේ Server පරිගණක කිහිපයම එකවර ක්‍රියාත්මක වන අතර ලැ‍බෙන සේවාදායක ඉල්ලීම් (Requests) කිසියම් ඇල්ගොරිතමයකට අනුව මාරුවෙන් මාරුවට Server පරිගණක කිහිපයටම ලබාදෙනවා. ඒ නිසා එක් පරිගණකයකට ලැබෙන භාරය(Load) අඩු වීමෙන් ඒවා අකර්මණ්‍ය වීමේ අවදානම අඩු වෙනවා.
තවද වර්තමානයේ භාවිතා වන ඉහළම කාර්යක්ෂමතාවයක් සහිත වෙබ් සර්වර් තාක්ෂණය NGINX (‍මෙය කියවන්නේ ‘engine X’ ලෙසයි) ලෙස හැඳින්වෙනවා. ‍මෙම තාක්ෂණය සහිත වෙබ් සර්වරයකට දිනකට මිලියන 500 පමණ ඉල්ලීම්(Requests) ප්‍රමාණයකට වෙබ් පිටු ලබාදිය(Serve කල) හැකි යැයි පැවසෙනවා.

සාමාන්‍යයෙන් ඉතා විශාල ප්‍රමාණයේ වෙබ් අඩවි (Facebook,Google), ඒවාට ලැ‍බෙන ඉල්ලීම්(Requests) ප්‍රමාණය අධික නිසාම, තමන්ගේ වෙබ් අඩවිය වෙබ් ‍සර්වර්ස් ගණනාවකම තැන්පත් කර තබා ගන්නවා. එවිට ලැබෙන එක් ඉල්ලීමක්(Request) සඳහා පිළිතුරු සැපයීම සඳහා වෙබ් සර්වරස් ගණනාවක්ම තිබෙන බැවින් සේවාදායකයින්ට ඉහළ සේවාවක් ලබාදිය හැකි වෙනවා.

‍එහෙත් එයද ප්‍රමාණවත් නොවන අවස්ථාවන් වලදී, මෙම වෙබ් අඩවි ලෝකයේ ‍බොහෝ ස්ථාන වල ඇති මෙවැනි වෙබ් සර්වර් ගණනාවකකට ඇතුළත් කරනවා. එය  CDN හෙවත් Content Delivery Network එකකට වෙබ් අඩවි ඇතුළත් කිරීම ලෙස හැඳින්වෙනවා. මෙම CDN පහසුකම තුළින් සේවාදායකයන්ට තමාට ආසන්නයේම ඇති ඇති වෙබ් සර්වරයෙන් පිළිතුරු ලබා දෙන බැවින්, ඉතා විශිෂ්ඨ, වේගවත් සේවාවක් ලබා දීමට හැකි වෙනවා. ඒ වාගේම මේ තුළින් ඒ ඒ කලාපයේ වෙබ් ඉල්ලීම් සලකා බලා, ඒ ඒ කලාපයට සරිලන සේ වෙබ් සර්වර් පිහිටුවීමට ද එම ‍වෙබ් සේවා සපයන සමාගම් වලට හැකි වෙනවා.

මෙ සම්බන්ධව තවත් කියන්න ‍බොහෝ දේ තියනවා. ඒත් ගොඩක් අය වෙබ් සර්වර් වල කතා නොකරන පැත්තක් කථා කරන්න හිතුණු නිසයි මේ දේවල් ලිව්වේ. මීළඟ පෝස්ට් එකත් ඉක්මනටම ලබා දෙන්න බලාපොරොත්තු වෙනවා.

Tuesday, August 3, 2010

මා ගැන යමක්

ආයු‍‍බෝවන් හැමෝටම,
මේ බ්ලොග් පෝස්ට් එකත් එක්කම මමත් ඔයගොල්ලන්ගේ බ්ලොග් ලෝකයට අලුත් සාමාජිකයෙක් විදියට එකතු වෙනවා. අවුරුදු ගණනාවක්ම බ්ලොග් එකක් ලියන්න ඕනේ කියල හිත හිතා උන්නට ඒ වැ‍ඩේ හැමදාම කල් ගිහින්, අද තමයි ඇත්තටම ලියන්න පටන් ගත්තේ.  ඔයගොල්ලො අනිත් අය වගේම මාවත් බ්ලොග් ලෝකයට සාදරයෙන් පිළිගනීවි කියල හිතනවා.
මම සුපුන් මධුශංක, ඉපදුනේ මාතර, පොඩිකාලේ හැදුනේ වැඩුනේ ලුණුගම්වෙහෙර කියන පුංචි නගරයක. පහ වසර දක්වා පාසල් ගියේ ඒ නගරයේ තියෙන, හ/ කු‍ඩාගම්මාන 03 කණිටු විදුහලට. ඊට පස්සේ අපි ‍අපේ අම්මගේ ගම වුනු ‍බෙලිඅත්ත නගරයට පදිංචිය‍ට ආවා. උසස් පෙළ දක්වා පාසැල් ගියේ හ/ වීරකැටිය රාජපක්ෂ මධ්‍ය මහා විද්‍යාලය‍ට. ඒ අතරතුර හ/ වීරවිල මහා විද්‍යාලය, හ/ අම්බල මහා විද්‍යාලය, මාර/ රාහුල මහා විද්‍යාලය යන පාසැල් වලටද ඇතුළත් වෙලා ඉඳල තියනවා.
‍කොහොම හරි දෙවන වර උසස් පෙළ විභාගයෙන් සමත් වෙලා කොළඹ විශ්ව විද්‍යාලයේ පරිගණක අධ්‍යයනායතන‍ය‍ට, පරිගණක විද්‍යා සිසුවෙක් විදියට තේරුණා. විශ්ව විද්‍යාලයේ අවුරුදු තුනක කාලය අවසන් වෙනකොට "System and Network Administration" කි‍යන දේ තමයි මගේ ප්‍රියතම මාතෘකාව වුණේ. ඒ උනන්දුව නිසාම මගේ පළවෙනි රැකියාව "System and Network Administration" සම්බන්ධ එකක් කර ගැනීමට පුලුවන් වුනා.
විශ්ව විද්‍යාලයේ දෙවන වසරේදී පැවැන් වුණු, "Sri Lanka Genius" ප්‍රශ්න විචාරාත්මක තරඟාවලියේදී, එම තරඟ කරුවන්‍ට ‍බෙදා දීම සඳහා ‍‍‍"Customized Ubuntu" ලිනක්ස් සීඩී තැටියක් නිර්මාණ‍ය කිරීමෙන් ඇරඹුනු ලිනක්ස් පිළිබඳ ආසාව නිසාම මගේ රැකියාව "Linux" පාදක කරගත් එකක් බවට පත් වුණා.
මගේ පළමු රැකියාව ලැබුණේ කොළඹ විශ්ව විද්‍යාලයේ "NOC" (Network Operation Center) එකට. එහි 99% භාවිතා වෙන්නේ Linux. UTP (Unshielded Twisted Pair) Cable සෑදීමේ සිට විවිධ Servers Configure කිරීම දක්වා Linux සහ Network පිළිබඳ මනා දැනුමක් ඒ තුළින් ලබා ගත හැකි වුණා.
මේ බ්ලොග් එක ලිවීමට ඒක හේතුවක් වුනේ, ඒ ලබාගත් දැනුම අනිත් අයත් සමඟ ‍බෙදාහදා ගන්නයි. ඒ වගේම Linux, Network හා System සම්බන්ධයෙන් ගැන ආසාවක් තියන අයටත් මේ බ්ලොග් එක ‍‍යම් උදව්වක් වේවි කියල හිතනවා.