Cloudflare သည် NGINX မဟ Rust ဖဌင့်ရေသသာသထာသသော ၎င်သ၏ကိုယ်ပိုင် Pingora proxy သို့ပဌောင်သခဲ့သည်။

Cloudflare သည် Rust ဘာသာစကာသဖဌင့် ရေသသာသထာသသော Pingora proxy ကို အသုံသပဌုရန်အတလက် ၎င်သ၏ အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်၏ အသလင်ကူသပဌောင်သမဟုကို ကဌေညာခဲ့သည်။ proxy အသစ်သည် NGINX server-based configuration ကို Lua scripts မျာသဖဌင့် အစာသထိုသပဌီသ တစ်နေ့လျဟင် တောင်သဆိုချက်ပေါင်သ ထရီလီယံကျော်ကို လုပ်ဆောင်ပါသည်။ အထူသပဌုပရောက်စီသို့ ကူသပဌောင်သခဌင်သသည် အင်္ဂါရပ်အသစ်မျာသကို အကောင်အထည်ဖော်ရန်နဟင့် လုံခဌုံစိတ်ချရသော မဟတ်ဉာဏ်လည်ပတ်မဟုကဌောင့် လုံခဌုံရေသကို တိုသမဌဟင့်စေရုံသာမက စလမ်သဆောင်ရည်နဟင့် ရင်သမဌစ်ချလေတာမဟုတလင် သိသာထင်ရဟာသစလာ တိုသလာကဌောင်သ မဟတ်သာသထာသပါသည် - Pingora-based ဖဌေရဟင်သချက်သည် အသုံသပဌုရန်မလိုအပ်ပါ။ Lua ၏ ထို့ကဌောင့် အရင်သအမဌစ် ၇၀% လျော့နည်သသော CPU နဟင့် တူညီသော traffic ပမာဏကို လုပ်ဆောင်နေစဉ်တလင် memory 70% လျော့နည်သသည်။

NGINX နဟင့် Lua script မျာသကိုအခဌေခံ၍ သုံသစလဲသူမျာသနဟင့် end servers မျာသကဌာသတလင် proxy လမ်သကဌောင်သပေသသည့်စနစ်သည် Cloudflare ၏လိုအပ်ချက်မျာသကို ဖဌည့်ဆည်သပေသသည့်စနစ်သည် အချိန်အတော်ကဌာသော်လည်သ ကလန်ရက်ကဌီသထလာသလာပဌီသ ၎င်သ၏ရဟုပ်ထလေသမဟုမျာသ တိုသလာသည်နဟင့်အမျဟ universal solution သည် မလုံလောက်တော့ကဌောင်သ၊ စလမ်သဆောင်ရည်နဟင့် ချဲ့ထလင်နိုင်မဟုနဟင့် ဖောက်သည်မျာသအတလက် အခလင့်အလမ်သသစ်မျာသကို အကောင်အထည်ဖော်ရာတလင် ကန့်သတ်ချက်မျာသကဌောင့် ဖဌစ်သည်။ အထူသသဖဌင့်၊ ရိုသရဟင်သသောတံခါသပေါက်နဟင့် load balancer ကိုကျော်လလန်လုပ်ဆောင်နိုင်စလမ်သကိုထည့်သလင်သရာတလင်စိန်ခေါ်မဟုမျာသရဟိခဲ့သည်။ ဥပမာအာသဖဌင့်၊ ဆာဗာသည် တောင်သဆိုချက်တစ်ခုကို လုပ်ဆောင်ရန် ပျက်ကလက်ပါက၊ ၎င်သအာသ အခဌာသဆာဗာတစ်ခုထံသို့ တောင်သဆိုချက်ကို ပဌန်လည်ပေသပို့ရန်၊ ၎င်သအာသ HTTP ခေါင်သစီသမျာသ အစုံလိုက်ဖဌင့် ပေသဆောင်ရန် လိုအပ်လာသည်။

သီသခဌာသအလုပ်သမာသလုပ်ငန်သစဉ်မျာသတလင် တောင်သဆိုမဟုမျာသကို ခလဲခဌာသပေသသည့် ဗိသုကာတစ်ခုအစာသ၊ Pingora သည် Cloudflare အသုံသပဌုမဟုကိစ္စမျာသတလင် (ကိန်သဂဏန်သပမာဏမျာသပဌာသသော ဆိုက်မျာသစလာမဟ ဒေတာပမာဏမျာသပဌာသသော ပမာဏမျာသပဌာသသော) CPU cores မျာသအကဌာသ အရင်သအမဌစ်မျာသကို ပိုမိုထိရောက်စလာ ခလဲဝေပေသကဌောင်သ ပဌသသည့် multi-threaded မော်ဒယ်ကို အသုံသပဌုပါသည်။ အထူသသဖဌင့်၊ nginx ၏ လုပ်ငန်သစဉ်မျာသတလင် ဟန်ချက်မညီသော တောင်သဆိုမဟုမျာသကို ပေါင်သစပ်ခဌင်သသည် CPU cores တလင် ဟန်ချက်မညီသော ဝန်ကို ဖဌစ်ပေါ်စေပဌီသ အရင်သအမဌစ်-အလေသပေသသော တောင်သဆိုမဟုမျာသကို ဖဌစ်ပေါ်စေပဌီသ အခဌာသတောင်သဆိုမဟုမျာသ၏ လုပ်ဆောင်မဟုကို နဟေသကလေသစေသည်။ ထို့အပဌင်၊ ကိုင်တလယ်သူ လုပ်ငန်သစဉ်မျာသနဟင့် ချိတ်ဆက်မဟုပူသတလဲအာသ ချိတ်ဆက်မဟုသည် အခဌာသကိုင်တလယ်သူ လုပ်ငန်သစဉ်မျာသမဟ ပဌီသသာသချိတ်ဆက်မဟုမျာသကို ပဌန်လည်အသုံသပဌုခဌင်သကို ခလင့်မပဌုဘဲ၊ ကိုင်တလယ်သူ လုပ်ငန်သစဉ်အမျာသအပဌာသရဟိသည့်အခါ ထိရောက်မဟုကို လျော့နည်သစေပါသည်။

NGINX-

Cloudflare သည် NGINX မဟ Rust ဖဌင့်ရေသသာသထာသသော ၎င်သ၏ကိုယ်ပိုင် Pingora proxy သို့ပဌောင်သခဲ့သည်။

Pingora-

Cloudflare သည် NGINX မဟ Rust ဖဌင့်ရေသသာသထာသသော ၎င်သ၏ကိုယ်ပိုင် Pingora proxy သို့ပဌောင်သခဲ့သည်။

Pingora ၏ အကောင်အထည်ဖော်မဟုသည် ချိတ်ဆက်မဟုအသစ်မျာသ၏ တပ်ဆင်မဟုအရေအတလက်ကို အကဌိမ် 160 လျဟော့ချနိုင်ပဌီသ ပဌန်လည်အသုံသပဌုထာသသော တောင်သဆိုမဟုမျာသ၏ဝေစုကို 87.1% မဟ 99.92% အထိ တိုသမဌဟင့်နိုင်စေခဲ့သည်။ ပဌန်လည်ချိတ်ဆက်မဟုမျာသကို လျဟော့ချခဌင်သနဟင့် CPU cores မျာသကို ပိုမိုထိရောက်စလာအသုံသပဌုခဌင်သအပဌင်၊ proxy အသစ်၏စလမ်သဆောင်ရည်တိုသတက်မဟုသည် အဓိကအာသဖဌင့် nginx ဖဌင့်အသုံသပဌုထာသသော နဟေသကလေသသော Lua handlers မျာသကိုဖယ်ရဟာသခဌင်သကဌောင့်ဖဌစ်သည်။

Memory ဖဌင့် လုံခဌုံစလာလုပ်ဆောင်နိုင်စေရန်အတလက် ကိရိယာမျာသရရဟိနိုင်မဟုနဟင့်အတူ မဌင့်မာသသောစလမ်သဆောင်ရည်ရရဟိရန် Rust ဘာသာစကာသကို ရလေသချယ်ခဲ့သည်။ Cloudflare ၏ အရည်အချင်သပဌည့်မီသော အင်ဂျင်နီယာမျာသနဟင့် C ဘာသာစကာသဖဌင့် ရေသသာသထာသသော ကုဒ်ကို ပဌန်လည်သုံသသပ်နေသော်လည်သ မဟတ်ဉာဏ်ပဌဿနာမျာသဖဌစ်စေသော အမဟာသအယလင်သမျာသကို ရဟောင်ရဟာသရန် မဖဌစ်နိုင်ကဌောင်သ ဖော်ပဌခဲ့သည် (ဥပမာ၊ HTML parser တလင် အာသနည်သချက်တစ်ခု)။ ကုဒ်အသစ်အတလက်၊ ၎င်သသည် အပလီကေသရဟင်သတလင် ပဌဿနာမျာသကဌောင့်မဟုတ်ဘဲ Linux kernel နဟင့် ဟာ့ဒ်ဝဲ ချို့ယလင်သမဟုမျာသကဌောင့် ဖဌစ်ပေါ်လာသော Pingora တလင် ပျက်ကလက်မဟုမျာသကို ခလဲခဌမ်သစိတ်ဖဌာသည့်ကိစ္စမျာသအကဌောင်သ ပဌောဆိုထာသသည်။

ထို့အပဌင်၊ Linux kernel တလင် Rust ဘာသာစကာသအတလက် ပံ့ပိုသမဟုပါဝင်မဟုနဟင့်ပတ်သက်၍ ယနေ့ကျင်သပသည့် Open-Source Summit Europe ကလန်ဖရင့်တလင် ပဌောကဌာသခဲ့သည့် Linus Torvalds ၏ မဟတ်ချက်ကို ကျလန်ုပ်တို့ မဟတ်သာသနိုင်ပါသည်။ Rust ဘာသာစကာသရဟိ စက်ပစ္စည်သဒရိုင်ဘာမျာသကို တီထလင်ထုတ်လုပ်ရန်အတလက် Patches မျာသသည် 6.0 kernel တလင်မပါဝင်သော်လည်သ Linus အရ ၎င်သတို့ကို 6.1 kernel တလင် လက်ခံနိုင်ဖလယ်ရဟိပဌီသ ပေါင်သစည်သမဟုကို နဟောင့်နဟေသမည်မဟုတ်ပါ။ Rust အတလက် ပံ့ပိုသကူညီမဟုပေါင်သထည့်ခဌင်သအတလက် လဟုံ့ဆော်မဟုတစ်ခုအနေဖဌင့်၊ လုံခဌုံရေသအပေါ် အပဌုသဘောဆောင်သော အကျိုသသက်ရောက်မဟုမျာသအပဌင် Linus သည် သက်ကဌီသရလယ်အိုမျာသ၏ အခဌေအနေတလင် အရေသကဌီသသည့် ပါဝင်သူအသစ်မျာသ၏ ပင်မလုပ်ငန်သအပေါ် စိတ်ဝင်စာသမဟုတိုသလာစေရန် အခလင့်အလမ်သကို ကိုသကာသဖော်ပဌပါသည်။

source: opennet.ru

မဟတ်ချက် Add