Skip to main content
Request ေတြကိုကိုင္တြယ္တဲ႔အခါ Multithreading ကိုအသံုးျပဳထားေသာ web server ေတြဟာ CPU, Memory, I/O ေတြကိုစနစ္တက် အသံုးမျပဳ႔တဲ႔အတြက္ ေနွးေကြးျပီး users ေတြအမ်ားျကီး သံုးတာကို ထိထိေရာက္ေရာက္ မကိုင္တြယ္နိုင္ပါ။ ဥပမာ Microsoft IIS, Apache, Tomcat တို႔လို ေရွးဦးေပၚခဲ႔တဲ႔ web server မ်ိဳးေတြ။ ဒီျပသနာေတြကို server ေတြထက္တိုးျပီး ေျဖရွင္းေလ႔ရွိတယ္။
ေနာက္ပိုငး္မွာ server တခုထဲမွာပဲ hardware resources ေတြကိုကို ထိထိေရာက္ေရာက္သံုးနိုင္ဖို႔
single threaded asynchronous, event loop ကိုအသံုးျပဳထားတဲ႔ NGINX တို႔ Node.JS တို႔ေပၚလာတယ္။
အသံုးမမ်ားတဲ႔ web sites ေတြအတြက္ ဘယ္လို web server ေတြေပၚမွာhost လုပ္လုပ္ အဆင္ေျပေသာ္လည္း လူသံုးမ်ားျပီး ျမန္နွုန္းကို ဦးစားေပးတဲ႔ site ေတြအတြက္အဆင္မေျပဘူး။
IIS, Apache တို႔လို web server ေတြဟာ features ေတြအမ်ားျကီးေပးထားတဲ႔အတြက္ ကိုယ္အတြက္အသံုးမ၀င္တာေတြ အမ်ားျကီးပါနိုင္တယ္။ ကိုယ္လိုခ်င္သလို customize လုပ္ဖုိ႔ခက္တယ္။
Node.js ဟာ runtime environment ျဖစ္ျပီး ကိုယ္လိုခ်င္တဲ႔အပိုင္းကို ကိုင္တြက္လို႔ရတယ္။ ရွုိးရွင္းတဲ႔ html response အတြက္ view engine မသံုးပဲ ကိုယ္နညး္ကိုယ္ဟန္နဲ႔ response လုပ္လို႔ရတယ္။ တတ္နိုင္ရင္ asp.net razor view engine လိုမ်ိဳး ကိုယ္ပိုင္ render engine ဖန္တီးျပီးေတာင္သံုးလို႔ရတယ္။ CPU core တခုခ်င္စီအတြကိ process ေတြကို fork လုပ္ျပီး request ေတြကိုကိုင္တြက္လို႔ရပါတယ္။ Socket level နဲ႔ပိုျပီးနီးစပ္တယ္ဆိုရမွာေပါ႔။ Sever တခုကို Port တခုမွာ listen လုပ္ဖို႔ code ၄ ၅ ေျကာင္းေလာက္နဲ႔တင္ျပီးတယ္။ ေနာက္ပိုငး္မွာ web sites/API ေတြကိုလြယ္လြယ္ကူကူနဲ႔ ဖန္တီးနိုင္ဖို႔ Express လိုမ်ိဳး middleware ေတြေပၚလာတယ္။
Node.js နဲ႔အားမရဘူးဆိုရင္ ကိုယ္ပိုင္ http server တခုကို TCP/IP stack ေပၚမွာ ဖန္တီးနုိင္ပါတယ္။
asynchronous I/O ျဖစ္ဖို႔တြက္ Node.js ဟာ libuv သံုးျပီးဖန္တီးထားတာပါ။ စိတ္၀င္စားရင္ libuv ကုိသံုးျပီး idea အသစ္ေတြနဲ႔ ေနာက္ထက္ web server တခုကို ကိုယ္တိုင္ ဖန္တီးနိုင္ပါတယ္။ အေရးျကီးတာ အခုပဲရွိတယ္။ အဲ႔ဒါက ရွိျပီးသားေတြကို အခ်ိန္ကုန္ဖန္တီးျပီး reinvent the wheel မျဖစ္ဖို႔႔ပဲလိုပါတယ္။ :)

--NSA

Comments

Popular posts from this blog

Privacy policy of WoW Photo Gallery

NAING SOE AUNG built the WoW Photo Gallery app as a Freemium app. This SERVICE is provided by NAING SOE AUNG at no cost and is intended for use as is. This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service. If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy. The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at WoW Photo Gallery unless otherwise defined in this Privacy Policy. Information Collection and Use For ...

ကွန်ပြူတာ ပရိုဂရမ်းမင်း အကြောင်း တစေ့တစောင်း

ဤဆောင်းပါးသည် ကွန်ပြူတာကိုစိတ်ဝင်စားသူ လူတိုင်းအတွက်ရည်ရွယ်ပါသည်။ ကွန်ပြုတာဖြင့်အသက်မွေးကြောင်းမပြုသော်လည်း ဒစ်ဂျစ်တယ်ခေတ်တွင် လူတိုင်းနီးပါး ကွန်ပြုတာ၊ မိုဘိုင်းဖုန်းဖြင့်ရင်းနှီးနေကြပြီ ဖြစ်သည်။ အင်တာနက်ဆိုတာသုံးဖူးနေကြပြီ။ ထို့ကြောင့် အားလုံးအတွက် ဗဟုသုတရစေလို၍ ရေသားလိုက်သည်။ ကွန်ပြူတာအခြေခံမရှိသူ အားလုံးအတွက်ပါ ရည်ရွယ်သဖြင့် သဘောတရားနဲ့ အလုပ်လုပ်ပုံအကြာင်းကို ပိုအလေးထား ရှင်းပြထားပါသည်။ ပရိုဂရမ်းမင်း ဆိုတာဘာလဲ လူတယောက်၏ ခန္ဓာကိုယ် အစိတ်အပိုင်းကို လေ့လာကြည့်ပါ။ ဦးနှောက့်၊ မှတ်ညဏ်၊ နား၊ မျက်လုံး၊ ပါစပ်၊ မျက်နာ၊ ခြေ၊ လက် စသဖြင့်ရှိသည်။ ဒီလိုအစိတ်အပိုင်းတွေကို ပေါင်းစည်းကာ "လူ" ဟူ၍ဖြစ်ပေါ်လာခြင်းဖြစ်သည်။ ကွန်ပြုတာဆိုသည်မှာလည်း ထိုးနည်းတူဖြစ်သည်။ အီလက်ထရောနစ်  အစိတ်အပိုင်းတွေ ပေါင်းစည်းကာ ကွန်ပြုတာ ဖြစ်ပေါ်လာသည်။ ဦးနှောက့် နှင့်တူသော CPU (Central Processing Unit)၊ မှတ်ညဏ်နှင့်တူသော မန်မိုရီ၊ နား နှင့်တူသော ဆားကစ်လမ်းကြောင်း၊ ကေဘယ်တွေ ရှိသည်။ (ဥပမာ ကီးဘုတ်မှ 'A' ကိုနှိပ်တဲ့အခါ ကီးဘုတ်ကေဘယ်လ်မှ တဆင့်ခြင်းဖြတ်ကျော်ကာ CPU သို့ရောက်သည်ဟု အလွယ်မှတ်ပါ )။ မျက်လုံးနှင့်တ...
၂၀၁၉ ၃လပိုင်းလောက်က ပရောဂျက်အဟောင်းတခုကို Commercial cloud ကို ပြောင်းရွှေ့ဖို့ လုပ်ရင်းကနေ AWS က certificate ယူဖို့ မဖြစ်မနေလိုအပ်လာခဲ့တယ်။   ဒီလိုနဲ့ AWS Certified Solutions Architect – Associate ကိုအရင်စဖြေဖြစ်တယ်။ ပြင်ဆင်ခဲ့တာတွေကို မျှဝေပေးတာပါ။ ၁။ အရင်ဆုံး ဒီ AWS ဆိုဒ်ကနေ Exam အတွက်ပြင်ဆင်ရမည် အကြောင်းအရာတွေကို လေ့လာပါတယ်။ https://aws.amazon.com/certification/certified-solutions-architect-associate/ https://aws.amazon.com/certification/certification-prep/ AWS Well-Architected ( https://d 1. awsstatic.com/whitepapers/architecture/AWS_Well-Architected_Framework.pdf ) လို white papers တွေကို သေခြာဖတ်နိုင်ရင်တော့ အကောင်းဆုံးပေါ့။ ကျွန်တော်ကတော့ ခုန်ကျော်ပေါက်လွှားပဲ ဖတ်ဖြစ်လိုက်တယ်။   ဒီစာအုပ်မှာ အဓိကအကြောင်းအရာ အပိုင်း ၅ ခုပါတယ်။ Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization အကြောင်းတွေပါ။   မေးခွန်းမှာ ဘယ်အပိုင်းက ရာခိုင်နှုန်းဘယ်လောက်ပါမလဲဆိုတာကို AWS Exam preparation guide မှာသေခြာဖော်ပြပေးထားပါတယ်။ ဒါတွ...