د HTTP/TCP بیلانس HAProxy 2.0 خوشې کول

خپور شوی د بار توازن خوشې کول هاپروکسي 2.0، کوم چې تاسو ته اجازه درکوي د ډیری فاکتورونو په پام کې نیولو سره د سرورونو د یوې ډلې تر مینځ د HTTP ترافیک او خپل سري TCP غوښتنې توزیع کړئ (د مثال په توګه ، دا د سرورونو شتون چیک کوي ، د بار کچه ارزوي ، د DDoS ضد اقدامات لري) او د لومړني ډیټا فلټر کول ترسره کوي ( د مثال په توګه، تاسو کولی شئ د HTTP سرلیکونه پارس کړئ، د فلټر لیږد غلط پوښتنې پیرامیټونه، د SQL او XSS بدیل بلاک کړئ، د منځپانګې پروسس کولو اجنټ سره وصل کړئ). HAProxy هم کولی شي درخواست کول د مایکرو خدماتو جوړښت پراساس په سیسټمونو کې د اجزاو تعامل همغږي کول. د پروژې کوډ په C او کې لیکل شوی چمتو شوی د GPLv2 لاندې جواز لري. پروژه په ډیری لوی سایټونو کې کارول کیږي، پشمول د Airbnb، Alibaba، GitHub، Imgur، Instagram، Reddit، StackOverflow، Tumblr، Twitter او Vimeo.

د خوشې کولو کلیدي ځانګړتیاوې:

  • نوی API معرفي شو د ډیټا پلان، کوم چې تاسو ته اجازه درکوي د REST ویب API له لارې په الوتنه کې د HAProxy تنظیمات اداره کړئ. په شمول، تاسو کولی شئ په متحرک ډول بیکینډونه او سرورونه اضافه او لرې کړئ، ACLs رامینځته کړئ، د غوښتنې روټینګ بدل کړئ، IP ته د هینډلر پابندۍ بدل کړئ؛
  • د nbthread لارښود اضافه شوی ، کوم چې تاسو ته اجازه درکوي په HAProxy کې کارول شوي تارونو شمیر تنظیم کړئ ترڅو په ملټي کور CPUs کې فعالیت غوره کړي. په ډیفالټ ډول ، د کارګر تارونو شمیر په اوسني چاپیریال کې موجود CPU کورونو پورې اړه لري ، او په کلاوډ چاپیریال کې ډیفالټ یو تار دی. د سختو محدودیتونو د ټاکلو لپاره، د مجلس اختیارونه MAX_THREADS او MAX_PROCS اضافه شوي، د تارونو او پروسو په شمیر کې د پورتنۍ حد محدودول؛
  • د شبکې ادرسونو ته د هینډلرونو پابندولو لپاره د پابند لارښود کارول ساده شوي. کله چې تنظیم کول، نور اړین ندي چې د پروسې پیرامیټونه تعریف کړئ - د ډیفالټ په واسطه، اړیکې به د فعالو اړیکو شمیر پورې اړوند د تارونو ترمنځ ویشل کیږي.
  • د لاګونو تنظیم کول کله چې په جلا کانټینرونو کې روان وي ساده شوي - لاګ اوس stdout او stderr ته لیږل کیدی شي ، په بیله بیا کوم موجود فایل توضیح کونکي ته (د مثال په توګه ، "log fd@1 local0")؛
  • د HTX (اصلي HTTP نمایندګۍ) لپاره ملاتړ په ډیفالټ فعال شوی ، د پرمختللي ب featuresو لکه د پای څخه تر پای HTTP/2 ، پرت 7 بیا هڅه او gRPC کارولو پرمهال توازن ته اجازه ورکوي. HTX سرلیکونه په ځای کې نه بدلوي، مګر د لیست په پای کې د نوي سرلیک لیرې کولو او اضافه کولو لپاره د ترمیم عملیات کموي، کوم چې تاسو ته اجازه درکوي د HTTP پروتوکول هر ډول پراخ شوي ډولونه سمبال کړئ، د سرلیک اصلي سیمانټیکونه وساتئ او تاسو ته اجازه درکوي. د لوړ فعالیت ترلاسه کولو لپاره کله چې HTTP/2 ته HTTP/1.1 وژباړئ او برعکس؛
  • د پای څخه تر پای HTTP/2 حالت لپاره رسمي ملاتړ اضافه شوی (په HTTP/2 کې د ټولو مرحلو پروسس کول ، پشمول د بیک انډ ته زنګونه ، او نه یوازې د پراکسي او پیرودونکي ترمینځ تعامل)؛
  • د gRPC پروتوکول دوه طرفه پراکسي کولو لپاره بشپړ ملاتړ د gRPC جریانونو پارس کولو وړتیا سره پلي شوی ، د انفرادي پیغامونو روښانه کول ، په لاګ کې د gRPC ترافیک منعکس کول او د ACLs په کارولو سره پیغامونه فلټر کول. gRPC تاسو ته اجازه درکوي د مایکرو خدماتو کار په مختلف پروګرامینګ ژبو کې تنظیم کړئ چې د نړیوال API په کارولو سره یو له بل سره تعامل کوي. په gRPC کې د شبکې ارتباط د HTTP/2 پروتوکول په سر کې پلي کیږي او د ډیټا سیریل کولو لپاره د پروتوکول بفرونو کارولو پراساس دی.
  • د "پرت 7 بیاکتنې" حالت لپاره ملاتړ اضافه شوی ، کوم چې تاسو ته اجازه درکوي د سافټویر ناکامۍ په صورت کې د HTTP تکرار غوښتنې واستوئ چې د شبکې اتصال رامینځته کولو ستونزې سره تړاو نلري (د مثال په توګه ، که ځواب شتون ونلري یا خالي ځواب وي. د پوسټ غوښتنه). د موډ غیر فعالولو لپاره، د "غیر فعال-l7-retry" بیرغ د "http-request" اختیار کې اضافه شوی، او د "بیا هڅه کولو" اختیار د ډیفالټ، اوریدلو او بیک انډ برخو کې د ښه کولو لپاره اضافه شوی. لاندې نښې د بیا لیږلو لپاره شتون لري: ټولې - د بیاکتنې وړ - تېروتنې ، هیڅ نه ، ناکام - ناکامي ، خالي ځواب ، جنک - ځواب ، د ځواب وخت پای ، 0rtt - رد شوی ، او همدارنګه د وضعیت کوډونو بیرته ستنیدو پابند (404، او نور) ;
  • د پروسې یو نوی مدیر پلي شوی ، کوم چې تاسو ته اجازه درکوي د HAProxy لپاره د هینډلرونو سره د بهرني اجرایوي فایلونو تلیفون کول تنظیم کړئ.
    د مثال په توګه، د ډیټا پلان API (/usr/sbin/dataplaneapi)، او همدارنګه د مختلف آفلوډ جریان پروسس کولو انجنونه، د داسې بهرني هینډلر په بڼه پلي کیږي؛

  • د SPOE (سټریم پروسس کولو آفلوډ انجن) او SPOP (سټریم پروسس کولو آفلوډ پروتوکول) توسیعونو رامینځته کولو لپاره د .NET کور ، ګو ، لوا او پایتون لپاره پابندۍ اضافه شوي. پخوا، د تمدید پراختیا یوازې په C کې ملاتړ کیده؛
  • یو جلا سرور ته د عکس العمل غوښتنو لپاره یو بهرنی spoa-mirror handler (/usr/sbin/spoa-mirror) اضافه شوی (د مثال په توګه ، د ریښتیني بار لاندې د تجربوي چاپیریال ازموینې لپاره د تولید ترافیک برخې کاپي کولو لپاره)؛
  • له خوا سپارل شوي HAProxy Kubernetes Ingress Controller د Kubernetes پلیټ فارم سره د یوځای کیدو ډاډ ترلاسه کول؛
  • د څارنې سیسټم ته د احصایو صادرولو لپاره جوړ شوی ملاتړ اضافه شوی Prometheus;
  • د Peers پروتوکول، چې د HAProxy چلولو نورو نوډونو سره د معلوماتو تبادلې لپاره کارول کیږي، پراخ شوی. د زړه ضربان او کوډ شوي ډیټا لیږد لپاره د اضافي ملاتړ په شمول؛
  • د "نمو" پیرامیټر د "لاګ" لارښود کې اضافه شوی، کوم چې تاسو ته اجازه درکوي چې د غوښتنو یوازې یوه برخه په لاګ کې ډوب کړئ، د بیلګې په توګه له 1 څخه 10، د تحلیلي نمونې جوړولو لپاره؛
  • د اتوماتیک پروفایل کولو حالت اضافه شوی (د profiling.tasks لارښود، کوم چې کولی شي ارزښتونه په اوتومات ډول واخلي، آن او آف). اتوماتیک پروفایل کول فعال شوي که چیرې اوسط ځنډ له 1000 ms څخه ډیر وي. د پروفایل کولو ډیټا لیدو لپاره ، د "شو پروفایلینګ" کمانډ د Runtime API کې اضافه شوی یا دا ممکنه ده چې احصایې لاګ ته بیا تنظیم کړئ؛
  • د SOCKS4 پروتوکول په کارولو سره د بیک انډ سرورونو ته د لاسرسي لپاره ملاتړ اضافه شوی؛
  • د TCP اتصالونو ګړندي خلاصولو لپاره د میکانیزم لپاره له پای څخه تر پای پورې ملاتړ اضافه شوی (TFO - TCP فاسټ خلاص ، RFC 7413) ، کوم چې تاسو ته اجازه درکوي د لومړي غوښتنې په یوځای کولو سره د پیوستون تنظیم کولو مرحلو شمیر کم کړئ او دوهم ګام. د کلاسیک 3 مرحلې اتصال خبرو اترو پروسه او دا ممکنه کوي چې د پیوستون رامینځته کولو په لومړي مرحله کې ډیټا لیږل؛
  • نوي عملونه اضافه شوي:
    • "http-request replace-uri" د یو منظم بیان په کارولو سره د URL بدلولو لپاره؛
    • د کوربه نوم حل کولو لپاره "tcp-request منځپانګه do-solve" او "http-request do-solve"؛
    • "tcp-request منځپانګه set-dst" او "tcp-request منځپانګه set-dst-port" د هدف IP پته او پورټ بدلولو لپاره.
  • د تبادلې نوي ماډلونه اضافه شوي:
    • aes_gcm_dev د AES128-GCM، AES192-GCM او AES256-GCM الګوریتمونو په کارولو سره د جریانونو د کوډ کولو لپاره؛
    • protobuf د پروتوکول بفر پیغامونو څخه ساحې استخراج لپاره؛
    • ungrpc د gRPC پیغامونو څخه ساحې استخراج لپاره.

    سرچینه: opennet.ru

Add a comment