តុល្យភាពបន្ទុកបណ្តាញ។ តើតុល្យភាពបន្ទុកគឺជាអ្វី? អ្វីដែលត្រូវជ្រើសរើសពី

បញ្ហានៃការរៀបចំផែនការផ្ទុកគួរតែត្រូវបានសម្រេចចិត្តនៅដំណាក់កាលដំបូងនៃការអភិវឌ្ឍន៍គម្រោងបណ្តាញណាមួយ។ "ការដួលរលំ" នៃម៉ាស៊ីនមេ (ហើយវាតែងតែកើតឡើងដោយមិននឹកស្មានដល់ ក្នុងពេលមិនសមរម្យបំផុត) គឺពោរពេញដោយផលវិបាកយ៉ាងធ្ងន់ធ្ងរ - ទាំងសីលធម៌ និងសម្ភារៈ។ ជាដំបូង បញ្ហានៃដំណើរការម៉ាស៊ីនមេមិនគ្រប់គ្រាន់ដោយសារតែការបង្កើនការផ្ទុកអាចត្រូវបានដោះស្រាយដោយការបង្កើនថាមពលរបស់ម៉ាស៊ីនមេ ឬដោយការបង្កើនប្រសិទ្ធភាពនៃក្បួនដោះស្រាយដែលបានប្រើ កូដកម្មវិធីជាដើម។ ប៉ុន្តែមិនយូរមិនឆាប់ នឹងមានពេលដែលវិធានការទាំងនេះមិនគ្រប់គ្រាន់។

យើង​ត្រូវ​ងាក​ទៅ​រក​ការ​ដាក់​ចង្កោម៖ ម៉ាស៊ីន​បម្រើ​ជា​ច្រើន​ត្រូវ​បាន​បញ្ចូល​គ្នា​ជា​ចង្កោម។ បន្ទុកត្រូវបានចែកចាយរវាងពួកវាដោយប្រើសំណុំនៃវិធីសាស្រ្តពិសេសដែលហៅថាតុល្យភាព។ បន្ថែមពីលើការដោះស្រាយបញ្ហានៃការផ្ទុកខ្ពស់ ការដាក់ចង្កោមក៏ជួយឱ្យប្រាកដថាម៉ាស៊ីនមេមិនមានការប្រឆាំងគ្នាទៅវិញទៅមក។
ប្រសិទ្ធភាពនៃការដាក់ចង្កោមដោយផ្ទាល់អាស្រ័យលើរបៀបដែលបន្ទុកត្រូវបានចែកចាយ (មានតុល្យភាព) រវាងធាតុនៃចង្កោម។

ការផ្ទុកតុល្យភាពអាចត្រូវបានធ្វើដោយប្រើទាំងផ្នែករឹងនិង ឧបករណ៍កម្មវិធី. យើង​ចង់​និយាយ​អំពី​វិធីសាស្ត្រ​សំខាន់ៗ និង​ក្បួន​ដោះស្រាយ​តុល្យភាព​ក្នុង​អត្ថបទ​នេះ។

កម្រិតតុល្យភាព

នីតិវិធីតុល្យភាពត្រូវបានអនុវត្តដោយប្រើសំណុំទាំងមូលនៃក្បួនដោះស្រាយ និងវិធីសាស្រ្តដែលត្រូវគ្នាទៅនឹងកម្រិតខាងក្រោមនៃគំរូ OSI៖
  • បណ្តាញ;
  • ការដឹកជញ្ជូន;
  • បានអនុវត្ត

សូមក្រឡេកមើលកម្រិតទាំងនេះឱ្យបានលម្អិតបន្ថែមទៀត។

តុល្យភាពនៅកម្រិតបណ្តាញ

តុល្យភាពនៅលើ កម្រិតបណ្តាញពាក់ព័ន្ធនឹងការដោះស្រាយបញ្ហាខាងក្រោម៖ អ្នកត្រូវប្រាកដថាម៉ាស៊ីនមេផ្សេងៗគ្នាទទួលខុសត្រូវចំពោះអាសយដ្ឋាន IP ជាក់លាក់មួយ។ ម៉ាស៊ីនរាងកាយ. តុល្យភាពនេះអាចសម្រេចបានតាមវិធីផ្សេងៗគ្នាជាច្រើន។

តុល្យភាពនៅកម្រិតដឹកជញ្ជូន

ប្រភេទនៃតុល្យភាពនេះគឺសាមញ្ញបំផុត៖ ម៉ាស៊ីនភ្ញៀវទាក់ទងអ្នកសមតុល្យ ដែលប្តូរទិសដៅសំណើទៅកាន់ម៉ាស៊ីនមេមួយ ដែលនឹងដំណើរការវា។ ការជ្រើសរើសម៉ាស៊ីនមេដែលសំណើនឹងត្រូវបានដំណើរការអាចត្រូវបានអនុវត្តដោយអនុលោមតាមក្បួនដោះស្រាយផ្សេងៗគ្នា (វានឹងត្រូវបានពិភាក្សាខាងក្រោម): ដោយការស្វែងរកជុំសាមញ្ញ ដោយជ្រើសរើសម៉ាស៊ីនមេដែលផ្ទុកតិចបំផុតពីអាង។ល។

ពេលខ្លះមានតុល្យភាព ស្រទាប់ដឹកជញ្ជូនពិបាកក្នុងការបែងចែកពីតុល្យភាពនៅកម្រិតបណ្តាញ។ ចូរយើងពិចារណា ច្បាប់បន្ទាប់សម្រាប់ អ្នកការពារការកើនឡើង pf នៅក្នុងប្រព័ន្ធ BSD៖ ឧទាហរណ៍ជាផ្លូវការនៅទីនេះ យើងកំពុងនិយាយអំពីអំពីតុល្យភាពចរាចរណ៍នៅលើជាក់លាក់មួយ។ ច្រក TCP(ឧទាហរណ៍សម្រាប់តម្រងបណ្តាញ pf នៅលើប្រព័ន្ធ BSD)៖

Web_servers = "( 10.0.0.10, 10.0.0.11, 10.0.0.13 )" ផ្គូផ្គងនៅលើ $ext_if proto tcp ទៅច្រក 80 rdr-ទៅ $web_servers round-robin sticky-address

វានិយាយអំពីតុល្យភាពចរាចរណ៍នៅលើច្រក TCP ជាក់លាក់មួយ។

ឥឡូវនេះ សូមក្រឡេកមើលឧទាហរណ៍មួយទៀត៖

ចូលទៅ $int_if ពី $lan_net \route-to ( ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) )\ round-robin

ច្បាប់នេះនិយាយអំពីតុល្យភាពចរាចរចេញនៅកម្រិតបណ្តាញ។ វាមិនបញ្ជាក់ច្រកជាក់លាក់ ឬពិធីការជាក់លាក់ទេ។

ភាពខុសគ្នារវាងកម្រិតតុល្យភាពអាចត្រូវបានពន្យល់ដូចខាងក្រោម។ កម្រិតបណ្តាញរួមបញ្ចូលដំណោះស្រាយដែលមិនបិទវគ្គអ្នកប្រើប្រាស់។ ពួកគេគ្រាន់តែប្តូរទិសចរាចរណ៍ ហើយមិនដំណើរការក្នុងទម្រង់ប្រូកស៊ីទេ។
នៅកម្រិតបណ្តាញ អ្នកតុល្យភាពគ្រាន់តែសម្រេចចិត្តថាតើម៉ាស៊ីនមេណាមួយត្រូវបញ្ជូនកញ្ចប់ព័ត៌មានទៅឱ្យ។ វគ្គជាមួយម៉ាស៊ីនភ្ញៀវត្រូវបានអនុវត្តដោយម៉ាស៊ីនមេ។

នៅស្រទាប់ដឹកជញ្ជូន ការប្រាស្រ័យទាក់ទងជាមួយអតិថិជនត្រូវបានកំណត់ចំពោះឧបករណ៍តុល្យភាព ដែលធ្វើការជាប្រូកស៊ី។ វាធ្វើអន្តរកម្មជាមួយម៉ាស៊ីនមេក្នុងនាមខ្លួនវា ដោយបញ្ជូនព័ត៌មានអំពីអតិថិជននៅក្នុងទិន្នន័យបន្ថែម និងបឋមកថា។ នេះជារបៀបដែលឧបករណ៍តុល្យភាពកម្មវិធីពេញនិយម HAProxy ដំណើរការ។

តុល្យភាពនៅកម្រិតកម្មវិធី

នៅពេលដែលមានតុល្យភាពនៅលើ កម្រិតកម្មវិធីឧបករណ៍តុល្យភាពដំណើរការក្នុងរបៀប "ប្រូកស៊ីឆ្លាតវៃ"។ វាវិភាគសំណើរបស់អតិថិជន និងបញ្ជូនពួកគេទៅកាន់ម៉ាស៊ីនមេផ្សេងៗគ្នា អាស្រ័យលើលក្ខណៈនៃមាតិកាដែលបានស្នើសុំ។ នេះជារបៀបដែលម៉ាស៊ីនមេបណ្តាញ Nginx ដំណើរការដោយចែកចាយសំណើរវាងផ្នែកខាងមុខ និងផ្នែកខាងក្រោយ។ ម៉ូឌុល Upstream ទទួលខុសត្រូវចំពោះតុល្យភាពនៅក្នុង Nginx ។ អ្នកអាចអានបន្ថែមអំពីលក្ខណៈពិសេសនៃតុល្យភាព Nginx ដោយផ្អែកលើក្បួនដោះស្រាយផ្សេងៗ ឧទាហរណ៍។

ឧទាហរណ៍មួយទៀតនៃឧបករណ៍តុល្យភាពនៅកម្រិតកម្មវិធីគឺ pgpool - ស្រទាប់មធ្យមរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ PostgreSQL DBMS ។ ដោយមានជំនួយរបស់វា អ្នកអាចចែកចាយសំណើទៅកាន់ម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យ អាស្រ័យលើខ្លឹមសាររបស់វា៖ ឧទាហរណ៍ សំណើអាននឹងត្រូវបានផ្ញើទៅកាន់ម៉ាស៊ីនមេមួយ ហើយសរសេរសំណើទៅមួយទៀត។ អ្នកអាចអានបន្ថែមអំពី pgpool និងជាក់លាក់នៃការធ្វើការជាមួយវានៅក្នុងអត្ថបទនេះ)។

ក្បួនដោះស្រាយតុល្យភាពនិងវិធីសាស្រ្ត

មានក្បួនដោះស្រាយ និងវិធីសាស្ត្រតុល្យភាពបន្ទុកផ្សេងៗគ្នាជាច្រើន។ នៅពេលជ្រើសរើសក្បួនដោះស្រាយជាក់លាក់មួយ អ្នកត្រូវបន្ត ទីមួយពីចំណុចជាក់លាក់នៃគម្រោងជាក់លាក់មួយ និងទីពីរពីគោលដៅ។ ដែលយើងគ្រោងនឹងសម្រេចបាន។

ក្នុង​ចំណោម​គោលដៅ​ដែល​ការ​ប្រើ​តុល្យភាព​ត្រូវ​បាន​គូស​បញ្ជាក់​ដូច​ខាង​ក្រោម៖

  • យុត្តិធម៌៖ អ្នកត្រូវធានាថាមានធនធានដែលបានបែងចែកដើម្បីដំណើរការសំណើនីមួយៗ។ ធនធានប្រព័ន្ធនិងការពារស្ថានភាពមិនឱ្យកើតឡើងនៅពេលដែលសំណើមួយត្រូវបានដំណើរការ ហើយអ្នកផ្សេងទៀតទាំងអស់កំពុងរង់ចាំវេនរបស់ពួកគេ។
  • ប្រសិទ្ធភាព៖ ម៉ាស៊ីនមេទាំងអស់ដែលដំណើរការសំណើត្រូវតែរវល់ 100% ។ វាត្រូវបានណែនាំឱ្យជៀសវាងស្ថានភាពដែលម៉ាស៊ីនមេមួយនៅទំនេររង់ចាំដំណើរការសំណើ (សូមកត់សម្គាល់ភ្លាមៗថានៅក្នុងការអនុវត្តជាក់ស្តែងគោលដៅនេះមិនតែងតែសម្រេចបាននោះទេ);
  • ការកាត់បន្ថយពេលវេលាដំណើរការសំណួរ៖ អ្នកត្រូវធានានូវពេលវេលាអប្បបរមារវាងការចាប់ផ្តើមដំណើរការសំណើ (ឬការដាក់របស់វានៅក្នុងជួរសម្រាប់ដំណើរការ) និងការបញ្ចប់របស់វា។
  • កាត់បន្ថយពេលវេលាឆ្លើយតប៖ យើងត្រូវកាត់បន្ថយពេលវេលាឆ្លើយតបទៅនឹងសំណើរបស់អ្នកប្រើប្រាស់។

វាក៏គួរឱ្យចង់បានផងដែរដែលថាក្បួនដោះស្រាយតុល្យភាពមានលក្ខណៈសម្បត្តិដូចខាងក្រោមៈ

  • ការព្យាករណ៍៖ អ្នកត្រូវយល់ឱ្យបានច្បាស់ថានៅក្នុងស្ថានភាពបែបណា និងនៅក្រោមអ្វីដែលផ្ទុក ក្បួនដោះស្រាយនឹងមានប្រសិទ្ធភាពក្នុងការដោះស្រាយបញ្ហាដែលបានកំណត់។
  • ;
  • លទ្ធភាពធ្វើមាត្រដ្ឋាន៖ ក្បួនដោះស្រាយត្រូវតែនៅតែដំណើរការនៅពេលដែលបន្ទុកកើនឡើង។

ជុំរ៉ូប៊ីន

Round Robin ឬក្បួនដោះស្រាយសេវារាងជារង្វង់គឺជាការស្វែងរកជុំវិលជុំ៖ សំណើដំបូងត្រូវបានផ្ញើទៅកាន់ម៉ាស៊ីនមេមួយ បន្ទាប់មកសំណើបន្ទាប់ត្រូវបានផ្ញើទៅមួយផ្សេងទៀត ហើយបន្តរហូតដល់ ម៉ាស៊ីនមេចុងក្រោយហើយបន្ទាប់មកអ្វីគ្រប់យ៉ាងចាប់ផ្តើមម្តងទៀត។

ការអនុវត្តទូទៅបំផុតនៃក្បួនដោះស្រាយនេះគឺជាការពិតណាស់ វិធីសាស្ត្រតុល្យភាព DNS Round Robin ។ ដូចដែលអ្នកបានដឹងហើយថាម៉ាស៊ីនមេ DNS ណាមួយរក្សាទុក "ឈ្មោះម៉ាស៊ីន - អាសយដ្ឋាន IP" គូសម្រាប់ម៉ាស៊ីននីមួយៗនៅក្នុងដែនជាក់លាក់មួយ។ បញ្ជីនេះអាចមើលទៅដូចនេះ ឧទាហរណ៍៖

Example.com xxx.xxx.xxx.2 www.example.com xxx.xxx.xxx.3

ឈ្មោះនីមួយៗក្នុងបញ្ជីអាចមានអាសយដ្ឋាន IP ច្រើនដែលភ្ជាប់ជាមួយវា៖

Example.com xxx.xxx.xxx.2 www.example.com xxx.xxx.xxx.3 www.example.com xxx.xxx.xxx.4 www.example.com xxx.xxx.xxx.5 www.example. com xxx.xxx.xxx.៦

ម៉ាស៊ីនមេ DNS ឆ្លងកាត់ធាតុទាំងអស់នៅក្នុងតារាង ហើយត្រឡប់ទៅនីមួយៗវិញ។ សំណើថ្មី។អាសយដ្ឋាន IP ខាងក្រោម៖ ឧទាហរណ៍សម្រាប់សំណើដំបូង - xxx.xxx.xxx.2 សម្រាប់ទីពីរ - xxx.xxx.xxx.3 ហើយដូច្នេះនៅលើ។ ជាលទ្ធផល ម៉ាស៊ីនមេទាំងអស់នៅក្នុងចង្កោមទទួលបានចំនួនសំណើដូចគ្នា។

ក្នុងចំណោមគុណសម្បត្តិដែលមិនគួរឱ្យសង្ស័យនៃក្បួនដោះស្រាយនេះគឺ ទីមួយ ឯករាជ្យនៃពិធីការ កម្រិតខ្ពស់. ដើម្បីធ្វើការជាមួយក្បួនដោះស្រាយ Round Robin ពិធីការណាមួយត្រូវបានប្រើដែលម៉ាស៊ីនមេត្រូវបានចូលប្រើដោយឈ្មោះ។
តុល្យភាពដោយផ្អែកលើក្បួនដោះស្រាយ Round Robin មិនអាស្រ័យតាមមធ្យោបាយណាមួយនៅលើការផ្ទុកម៉ាស៊ីនមេទេ៖ ការរក្សាទុកម៉ាស៊ីនមេ DNS ឃ្លាំងសម្ងាត់នឹងជួយទប់ទល់នឹងលំហូរចូលនៃអតិថិជនណាមួយ។

ការប្រើក្បួនដោះស្រាយ Round Robin មិនតម្រូវឱ្យមានទំនាក់ទំនងរវាងម៉ាស៊ីនមេទេ ដូច្នេះវាអាចត្រូវបានប្រើសម្រាប់តុល្យភាពក្នុងស្រុក និងសកល។
ជាចុងក្រោយ ដំណោះស្រាយដែលផ្អែកលើក្បួនដោះស្រាយ Round Robin គឺមានតម្លៃទាប៖ ដើម្បីឱ្យពួកវាដំណើរការ អ្នកគ្រាន់តែត្រូវបន្ថែមធាតុមួយចំនួនទៅ DNS ប៉ុណ្ណោះ។

ក្បួនដោះស្រាយ Round Robin ក៏មានចំនួននៃ ចំណុចខ្វះខាតសំខាន់ៗកង្វះខាត។ ដើម្បីឱ្យការចែកចាយបន្ទុកដោយប្រើប្រាស់ក្បួនដោះស្រាយនេះដើម្បីបំពេញតាមលក្ខណៈវិនិច្ឆ័យប្រកបដោយភាពយុត្តិធម៌ និងប្រសិទ្ធភាពដូចបានរៀបរាប់ខាងលើ ម៉ាស៊ីនមេនីមួយៗត្រូវតែមានសំណុំធនធានដូចគ្នាដែលមាន។ ប្រតិបត្តិការទាំងអស់ក៏ត្រូវប្រើបរិមាណដូចគ្នានៃធនធានផងដែរ។ នៅក្នុងការអនុវត្តជាក់ស្តែង លក្ខខណ្ឌទាំងនេះគឺនៅក្នុងករណីភាគច្រើនមិនបានបំពេញ។

ផងដែរនៅពេលធ្វើសមតុល្យដោយប្រើក្បួនដោះស្រាយ Round Robin បន្ទុកការងាររបស់ម៉ាស៊ីនមេជាក់លាក់មួយនៅក្នុងចង្កោមមិនត្រូវបានយកមកពិចារណាទាល់តែសោះ។ ចូរយើងស្រមៃមើលស្ថានភាពសម្មតិកម្មខាងក្រោម៖ ថ្នាំងមួយក្នុងចំនោមថ្នាំងត្រូវបានផ្ទុក 100% ខណៈពេលដែលថ្នាំងផ្សេងទៀតមានត្រឹមតែ 10 - 15% ប៉ុណ្ណោះ។ ក្បួនដោះស្រាយ Round Robin មិនគិតពីលទ្ធភាពនៃស្ថានភាពបែបនេះកើតឡើងទេ ដូច្នេះថ្នាំងដែលផ្ទុកលើសទម្ងន់នឹងនៅតែទទួលបានសំណើ។ ក្នុង​ករណី​នេះ គេ​មិន​អាច​និយាយ​អំពី​យុត្តិធម៌ ប្រសិទ្ធភាព ឬ​ការ​ព្យាករណ៍​បាន​ឡើយ។

ដោយសារកាលៈទេសៈដែលបានពិពណ៌នាខាងលើ វិសាលភាពនៃការអនុវត្តក្បួនដោះស្រាយ Round Robin មានកម្រិតណាស់។

Robin ជុំទម្ងន់

នេះគឺជាកំណែដែលបានធ្វើឱ្យប្រសើរឡើងនៃក្បួនដោះស្រាយ Round Robin ។ ខ្លឹមសារនៃការកែលម្អមានដូចខាងក្រោម៖ ម៉ាស៊ីនមេនីមួយៗត្រូវបានផ្តល់មេគុណទម្ងន់ស្របតាមការអនុវត្ត និងថាមពលរបស់វា។ វាជួយចែកចាយបន្ទុកកាន់តែមានភាពបត់បែន៖ ម៉ាស៊ីនមេដែលមានដំណើរការទម្ងន់កាន់តែច្រើន សំណើកាន់តែច្រើន។ ទោះជាយ៉ាងណាក៏ដោយ នេះមិនដោះស្រាយបញ្ហាទាំងអស់ដោយការអត់ឱនចំពោះកំហុសនោះទេ។ តុល្យភាពកាន់តែមានប្រសិទ្ធភាពត្រូវបានផ្តល់ដោយវិធីសាស្រ្តផ្សេងទៀតដែលក្នុងនោះប៉ារ៉ាម៉ែត្រមួយចំនួនធំត្រូវបានគេយកមកពិចារណានៅពេលរៀបចំផែនការនិងចែកចាយបន្ទុក។

ការតភ្ជាប់តិចបំផុត។

នៅក្នុងផ្នែកមុន យើងបានរាយបញ្ជីគុណវិបត្តិចម្បងនៃក្បួនដោះស្រាយ Round Robin។ ចូរដាក់ឈ្មោះមួយទៀត៖ វាមិនគិតពីចំនួនសកម្មទេ។ នៅពេលនេះការតភ្ជាប់។

សូមក្រឡេកមើលឧទាហរណ៍ជាក់ស្តែង។ មាន​ម៉ាស៊ីន​មេ​ពីរ—សូម​ហៅ​ពួកវា​ថា A និង B។ មាន​អ្នក​ប្រើ​តិច​ជាង​បាន​តភ្ជាប់​ទៅ​ម៉ាស៊ីន​បម្រើ A ជា​ជាង​ទៅ​ម៉ាស៊ីន​បម្រើ B។ ទន្ទឹម​នឹង​នេះ ម៉ាស៊ីន​បម្រើ A មាន​ផ្ទុក​លើស​ទម្ងន់។ តើនេះអាចទៅរួចដោយរបៀបណា? ចំលើយគឺសាមញ្ញណាស់៖ ការតភ្ជាប់ទៅម៉ាស៊ីនមេ A ត្រូវបានរក្សាទុកក្នុងរយៈពេលយូរបើប្រៀបធៀបទៅនឹងការតភ្ជាប់ទៅម៉ាស៊ីនមេ B ។

បញ្ហាដែលបានពិពណ៌នាអាចត្រូវបានដោះស្រាយដោយប្រើក្បួនដោះស្រាយដែលគេស្គាល់ថាជាការតភ្ជាប់តិចបំផុត (អក្សរកាត់ថាតិចconn) ។ វាត្រូវគិតពីចំនួននៃការតភ្ជាប់ដែលគាំទ្រដោយម៉ាស៊ីនមេនៅពេលបច្ចុប្បន្ន។ សំណួរបន្តបន្ទាប់នីមួយៗត្រូវបានផ្ញើទៅម៉ាស៊ីនមេដែលមានការតភ្ជាប់សកម្មតិចបំផុត។

មានកំណែធ្វើឱ្យប្រសើរឡើងនៃក្បួនដោះស្រាយនេះ ដែលមានបំណងជាចម្បងសម្រាប់ប្រើក្នុងចង្កោមដែលមានម៉ាស៊ីនមេដែលមានភាពខុសគ្នា លក្ខណៈបច្ចេកទេសនិង ការសម្តែងផ្សេងគ្នា. វាត្រូវបានគេហៅថា Weighted Least Connections ហើយនៅពេលចែកចាយបន្ទុក វាគិតមិនត្រឹមតែចំនួននៃការតភ្ជាប់សកម្មប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងមេគុណទម្ងន់នៃ servers ផងដែរ។

កំណែកម្រិតខ្ពស់ផ្សេងទៀតនៃក្បួនដោះស្រាយការតភ្ជាប់តិចបំផុត រួមមានការកំណត់កាលវិភាគការតភ្ជាប់តិចបំផុតផ្អែកលើមូលដ្ឋាន និងការកំណត់កាលវិភាគការតភ្ជាប់តិចបំផុតផ្អែកលើមូលដ្ឋានជាមួយនឹងការកំណត់កាលវិភាគចម្លង។

វិធីសាស្រ្តដំបូងត្រូវបានបង្កើតឡើងជាពិសេសសម្រាប់ការរក្សាទុកម៉ាស៊ីនមេប្រូកស៊ី។ ខ្លឹមសាររបស់វាមានដូចខាងក្រោម៖ ចំនួនធំបំផុតសំណើត្រូវបានផ្ញើទៅម៉ាស៊ីនមេដែលមានការតភ្ជាប់សកម្មតិចបំផុត។ នៅពីក្រោយនីមួយៗ ម៉ាស៊ីនបម្រើអតិថិជនក្រុមនៃ IP របស់អតិថិជនត្រូវបានចាត់តាំង។ សំណើពី IP ទាំងនេះត្រូវបានផ្ញើទៅម៉ាស៊ីនមេ "ដើម" ប្រសិនបើវាមិនដំណើរការពេញលេញ។ បើមិនដូច្នេះទេ សំណើនឹងត្រូវបានបញ្ជូនបន្តទៅម៉ាស៊ីនមេផ្សេងទៀត (វាគួរតែតិចជាងពាក់កណ្តាលផ្ទុក)។

នៅក្នុងការកំណត់កាលវិភាគនៃការតភ្ជាប់តិចបំផុតផ្អែកលើមូលដ្ឋានជាមួយនឹងក្បួនដោះស្រាយការកំណត់កាលវិភាគចម្លង អាសយដ្ឋាន IP នីមួយៗ ឬក្រុមនៃអាសយដ្ឋាន IP មិនត្រូវបានចាត់តាំងឱ្យ ម៉ាស៊ីនមេដាច់ដោយឡែកប៉ុន្តែនៅពីក្រោយក្រុមទាំងមូលនៃម៉ាស៊ីនមេ។ សំណើត្រូវបានផ្ញើទៅម៉ាស៊ីនមេដែលផ្ទុកតិចបំផុតនៅក្នុងក្រុម។ ប្រសិនបើម៉ាស៊ីនមេទាំងអស់ពីក្រុម "ដើម" ត្រូវបានផ្ទុកលើសទម្ងន់ នោះម៉ាស៊ីនមេថ្មីនឹងត្រូវបានបម្រុងទុក។ ម៉ាស៊ីនមេថ្មីនេះនឹងត្រូវបានបន្ថែមទៅក្រុមដែលបម្រើ IP ដែលសំណើត្រូវបានផ្ញើ។ នៅក្នុងវេន ម៉ាស៊ីនមេដែលផ្ទុកច្រើនបំផុតពីក្រុមនេះនឹងត្រូវបានលុប - វាជៀសវាងការចម្លងលើស។

ការកំណត់ពេលវេលា Hash គោលដៅ និងការកំណត់ពេលវេលា Hash ប្រភព

ក្បួនដោះស្រាយការកំណត់ពេលវេលា Hash គោលដៅត្រូវបានបង្កើតឡើងដើម្បីធ្វើការជាមួយចង្កោមនៃប្រូកស៊ីឃ្លាំងសម្ងាត់ ប៉ុន្តែវាត្រូវបានគេប្រើជាញឹកញាប់នៅក្នុងករណីផ្សេងទៀត។ នៅក្នុងក្បួនដោះស្រាយនេះ ម៉ាស៊ីនមេដែលកំពុងដំណើរការសំណើត្រូវបានជ្រើសរើសពីតារាងឋិតិវន្តដោយផ្អែកលើអាសយដ្ឋាន IP របស់អ្នកទទួល។

ក្បួនដោះស្រាយការកំណត់កាលវិភាគប្រភព Hash គឺផ្អែកលើគោលការណ៍ដូចគ្នានឹងកម្មវិធីមុនដែរ មានតែម៉ាស៊ីនមេដែលនឹងដំណើរការសំណើត្រូវបានជ្រើសរើសពីតារាងដោយអាសយដ្ឋាន IP របស់អ្នកផ្ញើ។

វគ្គស្អិត

Sticky Sessions គឺជាក្បួនដោះស្រាយសម្រាប់ចែកចាយសំណើចូល ដែលការតភ្ជាប់ត្រូវបានផ្ទេរទៅម៉ាស៊ីនមេដូចគ្នានៅក្នុងក្រុម។ វាត្រូវបានប្រើជាឧទាហរណ៍នៅក្នុងម៉ាស៊ីនមេបណ្តាញ Nginx ។ វគ្គអ្នកប្រើប្រាស់អាចត្រូវបានកំណត់ទៅម៉ាស៊ីនមេជាក់លាក់មួយដោយប្រើវិធីសាស្ត្រ IP hash ( ព័ត៌មានលំអិតអំពីវា សូមមើលឯកសារផ្លូវការ)។ ជាមួយនឹងវិធីសាស្រ្តនេះ សំណើត្រូវបានចែកចាយទៅកាន់ម៉ាស៊ីនមេ ដោយផ្អែកលើអាសយដ្ឋាន IP របស់អតិថិជន។ ដូចដែលបានបញ្ជាក់នៅក្នុងឯកសារ (សូមមើលតំណខាងលើ) "វិធីសាស្ត្រធានាថាសំណើពីអតិថិជនដូចគ្នានឹងត្រូវបានផ្ញើទៅកាន់ម៉ាស៊ីនមេដូចគ្នា"។ ប្រសិនបើម៉ាស៊ីនមេដែលបានកំណត់ទៅអាសយដ្ឋានជាក់លាក់មិនអាចប្រើបាន សំណើនឹងត្រូវបានបញ្ជូនបន្តទៅម៉ាស៊ីនមេផ្សេងទៀត។ ឧទាហរណ៍នៃបំណែកឯកសារកំណត់រចនាសម្ព័ន្ធ៖

backend ខាងលើ ( ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; )

ចាប់ផ្តើមពីកំណែ 1.2.2 នៅក្នុង Nginx អ្នកអាចបញ្ជាក់ទម្ងន់សម្រាប់ម៉ាស៊ីនមេនីមួយៗ។

មានបញ្ហាខ្លះជាមួយវិធីសាស្ត្រនេះ។ បញ្ហាជាមួយនឹងការចងសម័យអាចកើតឡើង ប្រសិនបើម៉ាស៊ីនភ្ញៀវប្រើ IP ថាមវន្ត។ នៅក្នុងស្ថានភាពមួយដែល ចំនួនធំសំណើឆ្លងកាត់ម៉ាស៊ីនមេប្រូកស៊ីមួយ តុល្យភាពមិនអាចត្រូវបានគេហៅថាមានប្រសិទ្ធភាព និងយុត្តិធម៌ទេ។ ទោះយ៉ាងណាក៏ដោយ បញ្ហាដែលបានពិពណ៌នាអាចត្រូវបានដោះស្រាយដោយប្រើខូឃី។ IN កំណែពាណិជ្ជកម្ម Nginx មានម៉ូឌុលស្អិតពិសេសដែលប្រើខូឃីសម្រាប់តុល្យភាព។ គាត់ក៏មាន analogues ឥតគិតថ្លៃ- ឧទាហរណ៍ nginx-sticky-module ។
អ្នកអាចប្រើវិធីសាស្រ្ត sticky-sessions នៅក្នុង HAProxy - អ្នកអាចអានបន្ថែមអំពីបញ្ហានេះ ឧទាហរណ៍។

សេចក្តីសន្និដ្ឋាន

អត្ថបទ​នេះ​គឺ​ជា​ការ​ណែនាំ​សំខាន់​មួយ​ដើម្បី​ផ្ទុក​តុល្យភាព។ យើងនឹងបន្តការពិភាក្សារបស់យើងអំពីប្រធានបទនេះនៅក្នុងការបោះពុម្ពផ្សាយនាពេលខាងមុខ។ ប្រសិនបើអ្នកមានសំណួរ មតិយោបល់ ឬបន្ថែម សូមស្វាគមន៍ចំពោះមតិយោបល់។ យើង​ក៏​នឹង​ដឹង​គុណ​ផង​ដែរ​ប្រសិន​បើ​អ្នក​ចែករំលែក​រឿង​មិន​សំខាន់ ឧទាហរណ៍ជាក់ស្តែងរៀបចំតុល្យភាពបន្ទុកសម្រាប់គម្រោងផ្សេងៗ។

អ្នកអានដែលមិនមានហេតុផលមួយ ឬហេតុផលផ្សេងទៀត មិនអាចទុកមតិយោបល់នៅទីនេះ ត្រូវបានអញ្ជើញឱ្យមកប្លុករបស់យើង។

ស្លាក:

  • តុល្យភាពផ្ទុក
  • ជ្រើសរើស
  • ជ្រើសរើស
បន្ថែមស្លាក

បញ្ហានៃការរៀបចំផែនការផ្ទុកគួរតែត្រូវបានសម្រេចចិត្តនៅដំណាក់កាលដំបូងនៃការអភិវឌ្ឍន៍គម្រោងបណ្តាញណាមួយ។ "ការដួលរលំ" នៃម៉ាស៊ីនមេ (ហើយវាតែងតែកើតឡើងដោយមិននឹកស្មានដល់ ក្នុងពេលមិនសមរម្យបំផុត) គឺពោរពេញដោយផលវិបាកយ៉ាងធ្ងន់ធ្ងរ - ទាំងសីលធម៌ និងសម្ភារៈ។ ជាដំបូង បញ្ហានៃដំណើរការម៉ាស៊ីនមេមិនគ្រប់គ្រាន់ដោយសារតែការបង្កើនការផ្ទុកអាចត្រូវបានដោះស្រាយដោយការបង្កើនថាមពលរបស់ម៉ាស៊ីនមេ ឬដោយការបង្កើនប្រសិទ្ធភាពនៃក្បួនដោះស្រាយដែលបានប្រើ កូដកម្មវិធីជាដើម។ ប៉ុន្តែមិនយូរមិនឆាប់ នឹងមានពេលដែលវិធានការទាំងនេះមិនគ្រប់គ្រាន់។

យើង​ត្រូវ​ងាក​ទៅ​រក​ការ​ដាក់​ចង្កោម៖ ម៉ាស៊ីន​បម្រើ​ជា​ច្រើន​ត្រូវ​បាន​បញ្ចូល​គ្នា​ជា​ចង្កោម។ បន្ទុកត្រូវបានចែកចាយរវាងពួកវាដោយប្រើសំណុំនៃវិធីសាស្រ្តពិសេសដែលហៅថាតុល្យភាព។ បន្ថែមពីលើការដោះស្រាយបញ្ហានៃការផ្ទុកខ្ពស់ ការដាក់ចង្កោមក៏ជួយឱ្យប្រាកដថាម៉ាស៊ីនមេមិនមានការប្រឆាំងគ្នាទៅវិញទៅមក។
ប្រសិទ្ធភាពនៃការដាក់ចង្កោមដោយផ្ទាល់អាស្រ័យលើរបៀបដែលបន្ទុកត្រូវបានចែកចាយ (មានតុល្យភាព) រវាងធាតុនៃចង្កោម។

ការផ្ទុកតុល្យភាពអាចត្រូវបានធ្វើដោយប្រើទាំងឧបករណ៍ផ្នែករឹង និងផ្នែកទន់។ យើង​ចង់​និយាយ​អំពី​វិធីសាស្ត្រ​សំខាន់ៗ និង​ក្បួន​ដោះស្រាយ​តុល្យភាព​ក្នុង​អត្ថបទ​នេះ។

កម្រិតតុល្យភាព

នីតិវិធីតុល្យភាពត្រូវបានអនុវត្តដោយប្រើសំណុំទាំងមូលនៃក្បួនដោះស្រាយ និងវិធីសាស្រ្តដែលត្រូវគ្នាទៅនឹងកម្រិតខាងក្រោមនៃគំរូ OSI៖
  • បណ្តាញ;
  • ការដឹកជញ្ជូន;
  • បានអនុវត្ត

សូមក្រឡេកមើលកម្រិតទាំងនេះឱ្យបានលម្អិតបន្ថែមទៀត។

តុល្យភាពនៅកម្រិតបណ្តាញ

តុល្យភាពនៅកម្រិតបណ្តាញពាក់ព័ន្ធនឹងការដោះស្រាយបញ្ហាខាងក្រោម៖ អ្នកត្រូវប្រាកដថាម៉ាស៊ីនផ្សេងគ្នាទទួលខុសត្រូវចំពោះអាសយដ្ឋាន IP ម៉ាស៊ីនមេជាក់លាក់មួយ។ តុល្យភាពនេះអាចសម្រេចបានតាមវិធីផ្សេងៗគ្នាជាច្រើន។

តុល្យភាពនៅកម្រិតដឹកជញ្ជូន

ប្រភេទនៃតុល្យភាពនេះគឺសាមញ្ញបំផុត៖ ម៉ាស៊ីនភ្ញៀវទាក់ទងអ្នកសមតុល្យ ដែលប្តូរទិសដៅសំណើទៅកាន់ម៉ាស៊ីនមេមួយ ដែលនឹងដំណើរការវា។ ការជ្រើសរើសម៉ាស៊ីនមេដែលសំណើនឹងត្រូវបានដំណើរការអាចត្រូវបានអនុវត្តដោយអនុលោមតាមក្បួនដោះស្រាយផ្សេងៗគ្នា (វានឹងត្រូវបានពិភាក្សាខាងក្រោម): ដោយការស្វែងរកជុំសាមញ្ញ ដោយជ្រើសរើសម៉ាស៊ីនមេដែលផ្ទុកតិចបំផុតពីអាង។ល។

ជួនកាលតុល្យភាពនៅស្រទាប់ដឹកជញ្ជូនគឺពិបាកក្នុងការបែងចែកពីតុល្យភាពនៅស្រទាប់បណ្តាញ។ ពិចារណាពីច្បាប់ខាងក្រោមសម្រាប់តម្រងបណ្តាញ pf នៅក្នុងប្រព័ន្ធ BSD៖ ជាឧទាហរណ៍ យើងកំពុងនិយាយអំពីតុល្យភាពចរាចរណ៍នៅលើច្រក TCP ជាក់លាក់មួយ (ឧទាហរណ៍សម្រាប់តម្រងបណ្តាញ pf នៅក្នុងប្រព័ន្ធ BSD)៖

Web_servers = "( 10.0.0.10, 10.0.0.11, 10.0.0.13 )" ផ្គូផ្គងនៅលើ $ext_if proto tcp ទៅច្រក 80 rdr-ទៅ $web_servers round-robin sticky-address

វានិយាយអំពីតុល្យភាពចរាចរណ៍នៅលើច្រក TCP ជាក់លាក់មួយ។

ឥឡូវនេះ សូមក្រឡេកមើលឧទាហរណ៍មួយទៀត៖

ចូលទៅ $int_if ពី $lan_net \route-to ( ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) )\ round-robin

ច្បាប់នេះនិយាយអំពីតុល្យភាពចរាចរចេញនៅកម្រិតបណ្តាញ។ វាមិនបញ្ជាក់ច្រកជាក់លាក់ ឬពិធីការជាក់លាក់ទេ។

ភាពខុសគ្នារវាងកម្រិតតុល្យភាពអាចត្រូវបានពន្យល់ដូចខាងក្រោម។ កម្រិតបណ្តាញរួមបញ្ចូលដំណោះស្រាយដែលមិនបិទវគ្គអ្នកប្រើប្រាស់។ ពួកគេគ្រាន់តែប្តូរទិសចរាចរណ៍ ហើយមិនដំណើរការក្នុងទម្រង់ប្រូកស៊ីទេ។
នៅកម្រិតបណ្តាញ អ្នកតុល្យភាពគ្រាន់តែសម្រេចចិត្តថាតើម៉ាស៊ីនមេណាមួយត្រូវបញ្ជូនកញ្ចប់ព័ត៌មានទៅឱ្យ។ វគ្គជាមួយម៉ាស៊ីនភ្ញៀវត្រូវបានអនុវត្តដោយម៉ាស៊ីនមេ។

នៅស្រទាប់ដឹកជញ្ជូន ការប្រាស្រ័យទាក់ទងជាមួយអតិថិជនត្រូវបានកំណត់ចំពោះឧបករណ៍តុល្យភាព ដែលធ្វើការជាប្រូកស៊ី។ វាធ្វើអន្តរកម្មជាមួយម៉ាស៊ីនមេក្នុងនាមខ្លួនវា ដោយបញ្ជូនព័ត៌មានអំពីអតិថិជននៅក្នុងទិន្នន័យបន្ថែម និងបឋមកថា។ នេះជារបៀបដែលឧបករណ៍តុល្យភាពកម្មវិធីពេញនិយម HAProxy ដំណើរការ។

តុល្យភាពនៅកម្រិតកម្មវិធី

នៅពេលធ្វើសមតុល្យនៅកម្រិតកម្មវិធី តុល្យភាពដំណើរការក្នុងរបៀប "ប្រូកស៊ីឆ្លាតវៃ"។ វាវិភាគសំណើរបស់អតិថិជន និងបញ្ជូនពួកគេទៅកាន់ម៉ាស៊ីនមេផ្សេងៗគ្នា អាស្រ័យលើលក្ខណៈនៃមាតិកាដែលបានស្នើសុំ។ នេះជារបៀបដែលម៉ាស៊ីនមេបណ្តាញ Nginx ដំណើរការដោយចែកចាយសំណើរវាងផ្នែកខាងមុខ និងផ្នែកខាងក្រោយ។ ម៉ូឌុល Upstream ទទួលខុសត្រូវចំពោះតុល្យភាពនៅក្នុង Nginx ។ អ្នកអាចអានបន្ថែមអំពីលក្ខណៈពិសេសនៃតុល្យភាព Nginx ដោយផ្អែកលើក្បួនដោះស្រាយផ្សេងៗ ឧទាហរណ៍។

ឧទាហរណ៍មួយទៀតនៃឧបករណ៍តុល្យភាពនៅកម្រិតកម្មវិធីគឺ pgpool - ស្រទាប់មធ្យមរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ PostgreSQL DBMS ។ ដោយមានជំនួយរបស់វា អ្នកអាចចែកចាយសំណើទៅកាន់ម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យ អាស្រ័យលើខ្លឹមសាររបស់វា៖ ឧទាហរណ៍ សំណើអាននឹងត្រូវបានផ្ញើទៅកាន់ម៉ាស៊ីនមេមួយ ហើយសរសេរសំណើទៅមួយទៀត។ អ្នកអាចអានបន្ថែមអំពី pgpool និងជាក់លាក់នៃការធ្វើការជាមួយវានៅក្នុងអត្ថបទនេះ)។

ក្បួនដោះស្រាយតុល្យភាពនិងវិធីសាស្រ្ត

មានក្បួនដោះស្រាយ និងវិធីសាស្ត្រតុល្យភាពបន្ទុកផ្សេងៗគ្នាជាច្រើន។ នៅពេលជ្រើសរើសក្បួនដោះស្រាយជាក់លាក់មួយ អ្នកត្រូវបន្ត ទីមួយពីចំណុចជាក់លាក់នៃគម្រោងជាក់លាក់មួយ និងទីពីរពីគោលដៅ។ ដែលយើងគ្រោងនឹងសម្រេចបាន។

ក្នុង​ចំណោម​គោលដៅ​ដែល​ការ​ប្រើ​តុល្យភាព​ត្រូវ​បាន​គូស​បញ្ជាក់​ដូច​ខាង​ក្រោម៖

  • យុត្តិធម៌៖ យើងត្រូវធានាថាធនធានប្រព័ន្ធត្រូវបានបែងចែកដើម្បីដំណើរការសំណើនីមួយៗ និងការពារស្ថានភាពពីការកើតឡើងដែលសំណើមួយត្រូវបានដំណើរការ ខណៈពេលដែលអ្នកផ្សេងទៀតទាំងអស់កំពុងរង់ចាំនៅក្នុងជួរ។
  • ប្រសិទ្ធភាព៖ ម៉ាស៊ីនមេទាំងអស់ដែលដំណើរការសំណើត្រូវតែរវល់ 100% ។ វាត្រូវបានណែនាំឱ្យជៀសវាងស្ថានភាពដែលម៉ាស៊ីនមេមួយនៅទំនេររង់ចាំដំណើរការសំណើ (សូមកត់សម្គាល់ភ្លាមៗថានៅក្នុងការអនុវត្តជាក់ស្តែងគោលដៅនេះមិនតែងតែសម្រេចបាននោះទេ);
  • ការកាត់បន្ថយពេលវេលាដំណើរការសំណួរ៖ អ្នកត្រូវធានានូវពេលវេលាអប្បបរមារវាងការចាប់ផ្តើមដំណើរការសំណើ (ឬការដាក់របស់វានៅក្នុងជួរសម្រាប់ដំណើរការ) និងការបញ្ចប់របស់វា។
  • កាត់បន្ថយពេលវេលាឆ្លើយតប៖ យើងត្រូវកាត់បន្ថយពេលវេលាឆ្លើយតបទៅនឹងសំណើរបស់អ្នកប្រើប្រាស់។

វាក៏គួរឱ្យចង់បានផងដែរដែលថាក្បួនដោះស្រាយតុល្យភាពមានលក្ខណៈសម្បត្តិដូចខាងក្រោមៈ

  • ការព្យាករណ៍៖ អ្នកត្រូវយល់ឱ្យបានច្បាស់ថានៅក្នុងស្ថានភាពបែបណា និងនៅក្រោមអ្វីដែលផ្ទុក ក្បួនដោះស្រាយនឹងមានប្រសិទ្ធភាពក្នុងការដោះស្រាយបញ្ហាដែលបានកំណត់។
  • ;
  • លទ្ធភាពធ្វើមាត្រដ្ឋាន៖ ក្បួនដោះស្រាយត្រូវតែនៅតែដំណើរការនៅពេលដែលបន្ទុកកើនឡើង។

ជុំរ៉ូប៊ីន

Round Robin ឬ Round-robin algorithm គឺជាការស្វែងរកជុំវិលជុំ៖ សំណើដំបូងត្រូវបានផ្ញើទៅកាន់ម៉ាស៊ីនមេមួយ បន្ទាប់មកសំណើបន្ទាប់ត្រូវបានផ្ញើទៅមួយផ្សេងទៀត ហើយបន្តរហូតដល់ម៉ាស៊ីនមេចុងក្រោយត្រូវបានទៅដល់ ហើយបន្ទាប់មកអ្វីគ្រប់យ៉ាងចាប់ផ្តើមម្តងទៀត។

ការអនុវត្តទូទៅបំផុតនៃក្បួនដោះស្រាយនេះគឺជាការពិតណាស់ វិធីសាស្ត្រតុល្យភាព DNS Round Robin ។ ដូចដែលអ្នកបានដឹងហើយថាម៉ាស៊ីនមេ DNS ណាមួយរក្សាទុក "ឈ្មោះម៉ាស៊ីន - អាសយដ្ឋាន IP" គូសម្រាប់ម៉ាស៊ីននីមួយៗនៅក្នុងដែនជាក់លាក់មួយ។ បញ្ជីនេះអាចមើលទៅដូចនេះ ឧទាហរណ៍៖

Example.com xxx.xxx.xxx.2 www.example.com xxx.xxx.xxx.3

ឈ្មោះនីមួយៗក្នុងបញ្ជីអាចមានអាសយដ្ឋាន IP ច្រើនដែលភ្ជាប់ជាមួយវា៖

Example.com xxx.xxx.xxx.2 www.example.com xxx.xxx.xxx.3 www.example.com xxx.xxx.xxx.4 www.example.com xxx.xxx.xxx.5 www.example. com xxx.xxx.xxx.៦

ម៉ាស៊ីនមេ DNS ឆ្លងកាត់ធាតុទាំងអស់នៅក្នុងតារាង ហើយផ្តល់អាសយដ្ឋាន IP ខាងក្រោមសម្រាប់សំណើថ្មីនីមួយៗ៖ ឧទាហរណ៍សម្រាប់សំណើដំបូង - xxx.xxx.xxx.2 សម្រាប់ទីពីរ - xxx.xxx.xxx.3, ហើយដូច្នេះនៅលើ។ ជាលទ្ធផល ម៉ាស៊ីនមេទាំងអស់នៅក្នុងចង្កោមទទួលបានចំនួនសំណើដូចគ្នា។

ក្នុងចំណោមគុណសម្បត្តិដែលមិនគួរឱ្យសង្ស័យនៃក្បួនដោះស្រាយនេះគឺ ទីមួយ ឯករាជ្យភាពពីពិធីការកម្រិតខ្ពស់។ ដើម្បីធ្វើការជាមួយក្បួនដោះស្រាយ Round Robin ពិធីការណាមួយត្រូវបានប្រើដែលម៉ាស៊ីនមេត្រូវបានចូលប្រើដោយឈ្មោះ។
តុល្យភាពដោយផ្អែកលើក្បួនដោះស្រាយ Round Robin មិនអាស្រ័យតាមមធ្យោបាយណាមួយនៅលើការផ្ទុកម៉ាស៊ីនមេទេ៖ ការរក្សាទុកម៉ាស៊ីនមេ DNS ឃ្លាំងសម្ងាត់នឹងជួយទប់ទល់នឹងលំហូរចូលនៃអតិថិជនណាមួយ។

ការប្រើក្បួនដោះស្រាយ Round Robin មិនតម្រូវឱ្យមានទំនាក់ទំនងរវាងម៉ាស៊ីនមេទេ ដូច្នេះវាអាចត្រូវបានប្រើសម្រាប់តុល្យភាពក្នុងស្រុក និងសកល។
ជាចុងក្រោយ ដំណោះស្រាយដែលផ្អែកលើក្បួនដោះស្រាយ Round Robin គឺមានតម្លៃទាប៖ ដើម្បីឱ្យពួកវាដំណើរការ អ្នកគ្រាន់តែត្រូវបន្ថែមធាតុមួយចំនួនទៅ DNS ប៉ុណ្ណោះ។

ក្បួនដោះស្រាយ Round Robin ក៏មានគុណវិបត្តិសំខាន់ៗមួយចំនួនផងដែរ។ ដើម្បីឱ្យការចែកចាយបន្ទុកដោយប្រើប្រាស់ក្បួនដោះស្រាយនេះដើម្បីបំពេញតាមលក្ខណៈវិនិច្ឆ័យប្រកបដោយភាពយុត្តិធម៌ និងប្រសិទ្ធភាពដូចបានរៀបរាប់ខាងលើ ម៉ាស៊ីនមេនីមួយៗត្រូវតែមានសំណុំធនធានដូចគ្នាដែលមាន។ ប្រតិបត្តិការទាំងអស់ក៏ត្រូវប្រើបរិមាណដូចគ្នានៃធនធានផងដែរ។ នៅក្នុងការអនុវត្តជាក់ស្តែង លក្ខខណ្ឌទាំងនេះគឺនៅក្នុងករណីភាគច្រើនមិនបានបំពេញ។

ផងដែរនៅពេលធ្វើសមតុល្យដោយប្រើក្បួនដោះស្រាយ Round Robin បន្ទុកការងាររបស់ម៉ាស៊ីនមេជាក់លាក់មួយនៅក្នុងចង្កោមមិនត្រូវបានយកមកពិចារណាទាល់តែសោះ។ ចូរយើងស្រមៃមើលស្ថានភាពសម្មតិកម្មខាងក្រោម៖ ថ្នាំងមួយក្នុងចំនោមថ្នាំងត្រូវបានផ្ទុក 100% ខណៈពេលដែលថ្នាំងផ្សេងទៀតមានត្រឹមតែ 10 - 15% ប៉ុណ្ណោះ។ ក្បួនដោះស្រាយ Round Robin មិនគិតពីលទ្ធភាពនៃស្ថានភាពបែបនេះកើតឡើងទេ ដូច្នេះថ្នាំងដែលផ្ទុកលើសទម្ងន់នឹងនៅតែទទួលបានសំណើ។ ក្នុង​ករណី​នេះ គេ​មិន​អាច​និយាយ​អំពី​យុត្តិធម៌ ប្រសិទ្ធភាព ឬ​ការ​ព្យាករណ៍​បាន​ឡើយ។

ដោយសារកាលៈទេសៈដែលបានពិពណ៌នាខាងលើ វិសាលភាពនៃការអនុវត្តក្បួនដោះស្រាយ Round Robin មានកម្រិតណាស់។

Robin ជុំទម្ងន់

នេះគឺជាកំណែដែលបានធ្វើឱ្យប្រសើរឡើងនៃក្បួនដោះស្រាយ Round Robin ។ ខ្លឹមសារនៃការកែលម្អមានដូចខាងក្រោម៖ ម៉ាស៊ីនមេនីមួយៗត្រូវបានផ្តល់មេគុណទម្ងន់ស្របតាមការអនុវត្ត និងថាមពលរបស់វា។ វាជួយចែកចាយបន្ទុកកាន់តែមានភាពបត់បែន៖ ម៉ាស៊ីនមេដែលមានដំណើរការទម្ងន់កាន់តែច្រើន សំណើកាន់តែច្រើន។ ទោះជាយ៉ាងណាក៏ដោយ នេះមិនដោះស្រាយបញ្ហាទាំងអស់ដោយការអត់ឱនចំពោះកំហុសនោះទេ។ តុល្យភាពកាន់តែមានប្រសិទ្ធភាពត្រូវបានផ្តល់ដោយវិធីសាស្រ្តផ្សេងទៀតដែលក្នុងនោះប៉ារ៉ាម៉ែត្រមួយចំនួនធំត្រូវបានគេយកមកពិចារណានៅពេលរៀបចំផែនការនិងចែកចាយបន្ទុក។

ការតភ្ជាប់តិចបំផុត។

នៅក្នុងផ្នែកមុន យើងបានរាយបញ្ជីគុណវិបត្តិចម្បងនៃក្បួនដោះស្រាយ Round Robin។ ចូរដាក់ឈ្មោះមួយផ្សេងទៀត៖ វាមិនគិតពីចំនួននៃការតភ្ជាប់សកម្មបច្ចុប្បន្នទាល់តែសោះ។

សូមក្រឡេកមើលឧទាហរណ៍ជាក់ស្តែង។ មាន​ម៉ាស៊ីន​មេ​ពីរ—សូម​ហៅ​ពួកវា​ថា A និង B។ មាន​អ្នក​ប្រើ​តិច​ជាង​បាន​តភ្ជាប់​ទៅ​ម៉ាស៊ីន​បម្រើ A ជា​ជាង​ទៅ​ម៉ាស៊ីន​បម្រើ B។ ទន្ទឹម​នឹង​នេះ ម៉ាស៊ីន​បម្រើ A មាន​ផ្ទុក​លើស​ទម្ងន់។ តើនេះអាចទៅរួចដោយរបៀបណា? ចំលើយគឺសាមញ្ញណាស់៖ ការតភ្ជាប់ទៅម៉ាស៊ីនមេ A ត្រូវបានរក្សាទុកក្នុងរយៈពេលយូរបើប្រៀបធៀបទៅនឹងការតភ្ជាប់ទៅម៉ាស៊ីនមេ B ។

បញ្ហាដែលបានពិពណ៌នាអាចត្រូវបានដោះស្រាយដោយប្រើក្បួនដោះស្រាយដែលគេស្គាល់ថាជាការតភ្ជាប់តិចបំផុត (អក្សរកាត់ថាតិចconn) ។ វាត្រូវគិតពីចំនួននៃការតភ្ជាប់ដែលគាំទ្រដោយម៉ាស៊ីនមេនៅពេលបច្ចុប្បន្ន។ សំណួរបន្តបន្ទាប់នីមួយៗត្រូវបានផ្ញើទៅម៉ាស៊ីនមេដែលមានការតភ្ជាប់សកម្មតិចបំផុត។

មានកំណែធ្វើឱ្យប្រសើរឡើងនៃក្បួនដោះស្រាយនេះ ដែលមានបំណងប្រើប្រាស់ជាចម្បងនៅក្នុងចង្កោមដែលមានម៉ាស៊ីនមេដែលមានលក្ខណៈបច្ចេកទេសខុសៗគ្នា និងដំណើរការខុសៗគ្នា។ វាត្រូវបានគេហៅថា Weighted Least Connections ហើយនៅពេលចែកចាយបន្ទុក វាគិតមិនត្រឹមតែចំនួននៃការតភ្ជាប់សកម្មប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងមេគុណទម្ងន់នៃ servers ផងដែរ។

កំណែកម្រិតខ្ពស់ផ្សេងទៀតនៃក្បួនដោះស្រាយការតភ្ជាប់តិចបំផុត រួមមានការកំណត់កាលវិភាគការតភ្ជាប់តិចបំផុតផ្អែកលើមូលដ្ឋាន និងការកំណត់កាលវិភាគការតភ្ជាប់តិចបំផុតផ្អែកលើមូលដ្ឋានជាមួយនឹងការកំណត់កាលវិភាគចម្លង។

វិធីសាស្រ្តដំបូងត្រូវបានបង្កើតឡើងជាពិសេសសម្រាប់ការរក្សាទុកម៉ាស៊ីនមេប្រូកស៊ី។ ខ្លឹមសាររបស់វាមានដូចខាងក្រោម៖ សំណើចំនួនច្រើនបំផុតត្រូវបានផ្ញើទៅកាន់ម៉ាស៊ីនមេដែលមានការតភ្ជាប់សកម្មតិចបំផុត។ ម៉ាស៊ីនមេអតិថិជននីមួយៗត្រូវបានចាត់តាំងជាក្រុមនៃ IP របស់អតិថិជន។ សំណើពី IP ទាំងនេះត្រូវបានផ្ញើទៅម៉ាស៊ីនមេ "ដើម" ប្រសិនបើវាមិនដំណើរការពេញលេញ។ បើមិនដូច្នេះទេ សំណើនឹងត្រូវបានបញ្ជូនបន្តទៅម៉ាស៊ីនមេផ្សេងទៀត (វាគួរតែតិចជាងពាក់កណ្តាលផ្ទុក)។

នៅក្នុងការកំណត់កាលវិភាគការតភ្ជាប់តិចបំផុតផ្អែកលើមូលដ្ឋានជាមួយនឹងក្បួនដោះស្រាយការកំណត់កាលវិភាគចម្លង អាសយដ្ឋាន IP នីមួយៗ ឬក្រុមនៃអាសយដ្ឋាន IP ត្រូវបានកំណត់មិនមែនទៅម៉ាស៊ីនមេនីមួយៗទេ ប៉ុន្តែទៅក្រុមម៉ាស៊ីនមេទាំងមូល។ សំណើត្រូវបានផ្ញើទៅម៉ាស៊ីនមេដែលផ្ទុកតិចបំផុតនៅក្នុងក្រុម។ ប្រសិនបើម៉ាស៊ីនមេទាំងអស់ពីក្រុម "ដើម" ត្រូវបានផ្ទុកលើសទម្ងន់ នោះម៉ាស៊ីនមេថ្មីនឹងត្រូវបានបម្រុងទុក។ ម៉ាស៊ីនមេថ្មីនេះនឹងត្រូវបានបន្ថែមទៅក្រុមដែលបម្រើ IP ដែលសំណើត្រូវបានផ្ញើ។ នៅក្នុងវេន ម៉ាស៊ីនមេដែលផ្ទុកច្រើនបំផុតពីក្រុមនេះនឹងត្រូវបានលុប - វាជៀសវាងការចម្លងលើស។

ការកំណត់ពេលវេលា Hash គោលដៅ និងការកំណត់ពេលវេលា Hash ប្រភព

ក្បួនដោះស្រាយការកំណត់ពេលវេលា Hash គោលដៅត្រូវបានបង្កើតឡើងដើម្បីធ្វើការជាមួយចង្កោមនៃប្រូកស៊ីឃ្លាំងសម្ងាត់ ប៉ុន្តែវាត្រូវបានគេប្រើជាញឹកញាប់នៅក្នុងករណីផ្សេងទៀត។ នៅក្នុងក្បួនដោះស្រាយនេះ ម៉ាស៊ីនមេដែលកំពុងដំណើរការសំណើត្រូវបានជ្រើសរើសពីតារាងឋិតិវន្តដោយផ្អែកលើអាសយដ្ឋាន IP របស់អ្នកទទួល។

ក្បួនដោះស្រាយការកំណត់កាលវិភាគប្រភព Hash គឺផ្អែកលើគោលការណ៍ដូចគ្នានឹងកម្មវិធីមុនដែរ មានតែម៉ាស៊ីនមេដែលនឹងដំណើរការសំណើត្រូវបានជ្រើសរើសពីតារាងដោយអាសយដ្ឋាន IP របស់អ្នកផ្ញើ។

វគ្គស្អិត

Sticky Sessions គឺជាក្បួនដោះស្រាយសម្រាប់ចែកចាយសំណើចូល ដែលការតភ្ជាប់ត្រូវបានផ្ទេរទៅម៉ាស៊ីនមេដូចគ្នានៅក្នុងក្រុម។ ឧទាហរណ៍ វាត្រូវបានប្រើនៅក្នុងម៉ាស៊ីនមេបណ្តាញ Nginx ។ វគ្គអ្នកប្រើប្រាស់អាចត្រូវបានកំណត់ទៅម៉ាស៊ីនមេជាក់លាក់មួយដោយប្រើវិធីសាស្ត្រ IP hash (សូមមើលឯកសារផ្លូវការសម្រាប់ព័ត៌មានលម្អិត)។ ជាមួយនឹងវិធីសាស្រ្តនេះ សំណើត្រូវបានចែកចាយទៅកាន់ម៉ាស៊ីនមេ ដោយផ្អែកលើអាសយដ្ឋាន IP របស់អតិថិជន។ ដូចដែលបានបញ្ជាក់នៅក្នុងឯកសារ (សូមមើលតំណខាងលើ) "វិធីសាស្ត្រធានាថាសំណើពីអតិថិជនដូចគ្នានឹងត្រូវបានផ្ញើទៅកាន់ម៉ាស៊ីនមេដូចគ្នា"។ ប្រសិនបើម៉ាស៊ីនមេដែលបានកំណត់ទៅអាសយដ្ឋានជាក់លាក់មិនអាចប្រើបាន សំណើនឹងត្រូវបានបញ្ជូនបន្តទៅម៉ាស៊ីនមេផ្សេងទៀត។ ឧទាហរណ៍នៃបំណែកឯកសារកំណត់រចនាសម្ព័ន្ធ៖

backend ខាងលើ ( ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; )

ចាប់ផ្តើមពីកំណែ 1.2.2 នៅក្នុង Nginx អ្នកអាចបញ្ជាក់ទម្ងន់សម្រាប់ម៉ាស៊ីនមេនីមួយៗ។

មានបញ្ហាខ្លះជាមួយវិធីសាស្ត្រនេះ។ បញ្ហាជាមួយនឹងការចងសម័យអាចកើតឡើង ប្រសិនបើម៉ាស៊ីនភ្ញៀវប្រើ IP ថាមវន្ត។ នៅក្នុងស្ថានភាពដែលសំណើមួយចំនួនធំឆ្លងកាត់ម៉ាស៊ីនមេប្រូកស៊ីមួយ តុល្យភាពមិនអាចត្រូវបានគេហៅថាមានប្រសិទ្ធភាព និងយុត្តិធម៌ទេ។ ទោះយ៉ាងណាក៏ដោយ បញ្ហាដែលបានពិពណ៌នាអាចត្រូវបានដោះស្រាយដោយប្រើខូឃី។ កំណែពាណិជ្ជកម្មរបស់ Nginx មានម៉ូឌុលស្អិតពិសេសដែលប្រើខូឃីសម្រាប់តុល្យភាព។ វាក៏មាន analogues ឥតគិតថ្លៃផងដែរ - ឧទាហរណ៍ nginx-sticky-module ។
អ្នកអាចប្រើវិធីសាស្រ្ត sticky-sessions នៅក្នុង HAProxy - អ្នកអាចអានបន្ថែមអំពីបញ្ហានេះ ឧទាហរណ៍។

សេចក្តីសន្និដ្ឋាន

អត្ថបទ​នេះ​គឺ​ជា​ការ​ណែនាំ​សំខាន់​មួយ​ដើម្បី​ផ្ទុក​តុល្យភាព។ យើងនឹងបន្តការពិភាក្សារបស់យើងអំពីប្រធានបទនេះនៅក្នុងការបោះពុម្ពផ្សាយនាពេលខាងមុខ។ ប្រសិនបើអ្នកមានសំណួរ មតិយោបល់ ឬបន្ថែម សូមស្វាគមន៍ចំពោះមតិយោបល់។ យើងក៏នឹងដឹងគុណផងដែរ ប្រសិនបើអ្នកចែករំលែកឧទាហរណ៍ជាក់ស្តែងដែលមិនសំខាន់នៃការរៀបចំតុល្យភាពបន្ទុកសម្រាប់គម្រោងផ្សេងៗ។

អ្នកអានដែលមិនមានហេតុផលមួយ ឬហេតុផលផ្សេងទៀត មិនអាចទុកមតិយោបល់នៅទីនេះ ត្រូវបានអញ្ជើញឱ្យមកប្លុករបស់យើង។

ស្លាក: បន្ថែមស្លាក

នៅក្នុងវាក្យស័ព្ទនៃបណ្តាញកុំព្យូទ័រ ការផ្ទុកតុល្យភាព (កម្រិត) គឺជាការចែកចាយនៃដំណើរការប្រតិបត្តិភារកិច្ចក្នុងចំណោមម៉ាស៊ីនមេបណ្តាញជាច្រើន ដើម្បីបង្កើនប្រសិទ្ធភាពការប្រើប្រាស់ធនធាន និងកាត់បន្ថយពេលវេលាគណនា។

ប្រភេទនៃម៉ាស៊ីនមេដែលគួរតែមានតុល្យភាព៖

    ចង្កោមម៉ាស៊ីនមេ;

    ជញ្ជាំងភ្លើង;

    ម៉ាស៊ីនមេត្រួតពិនិត្យមាតិកា (ដូចជា AntiVirus ឬ AntiSpam servers)។

ជាធម្មតា ប្រព័ន្ធតុល្យភាពបន្ទុករបស់ម៉ាស៊ីនមេប្រើសមត្ថភាព L4 (UDP/TCP) ។ ក្នុងករណីនេះ ភាពអាចរកបាននៃម៉ាស៊ីនមេត្រូវបានត្រួតពិនិត្យដោយអាសយដ្ឋាន IP និងលេខច្រក ហើយការសម្រេចចិត្តមួយត្រូវបានធ្វើឡើង៖ ម៉ាស៊ីនមេដែលមានសំណើគួរតែត្រូវបានបញ្ជូនបន្ត។ ភាគច្រើនជាញឹកញាប់ ក្បួនដោះស្រាយវិលជុំត្រូវបានប្រើដើម្បីជ្រើសរើសម៉ាស៊ីនមេ។ ជម្រើសនេះសន្មតថាសំណើទាំងអស់បង្កើតបន្ទុកដូចគ្នា និងរយៈពេលប្រតិបត្តិ។ កំណែកម្រិតខ្ពស់នៃក្បួនដោះស្រាយប្រើកម្រិតកាន់កាប់ម៉ាស៊ីនមេ និងចំនួននៃការតភ្ជាប់សកម្ម។

ពីមុនសមត្ថភាពផ្ទុកតុល្យភាពត្រូវបានបង្កើតឡើងនៅក្នុង កម្មវិធីកម្មវិធីឬប្រព័ន្ធប្រតិបត្តិការ។ ប្រព័ន្ធតុល្យភាពបន្ទុកទំនើបត្រូវតែបំពេញតាមតម្រូវការដូចខាងក្រោមៈ

    ផ្តល់ ការគ្រប់គ្រងចរាចរណ៍ដើម្បីធានាភាពអាចរកបាននៃកម្មវិធី និងការចែកចាយការផ្ទុកនៅក្នុងកសិដ្ឋានម៉ាស៊ីនមេ (ក្រុមនៃម៉ាស៊ីនមេដែលតភ្ជាប់ដោយបណ្តាញទិន្នន័យ និងធ្វើការជាឯកតាតែមួយ);

    បង្កើនល្បឿនដំណើរការកម្មវិធីច្រើនដង;

    ការធានា ការការពារកម្មវិធីសុវត្ថិភាពទិន្នន័យ និងការត្រួតពិនិត្យចរាចរណ៍។

វាជាការសំខាន់ក្នុងការកត់សម្គាល់នៅទីនេះថាភាពអាចរកបាននៃអាសយដ្ឋាន IP និងច្រកមិនធានាការចូលប្រើកម្មវិធីនោះទេ។

ថ្មីៗនេះស្រទាប់កម្មវិធីត្រូវបានប្រើប្រាស់កាន់តែខ្លាំងឡើងដើម្បីដោះស្រាយបញ្ហានៃតុល្យភាពបន្ទុក។ ដំណើរការធ្វើការសម្រេចចិត្តគិតគូរពីប្រភេទនៃអតិថិជន URL ដែលបានស្នើសុំ ព័ត៌មានពីខូគី សមត្ថភាពរបស់ម៉ាស៊ីនមេជាក់លាក់ និងប្រភេទនៃកម្មវិធីកម្មវិធី ដែលអនុញ្ញាតឱ្យបង្កើនប្រសិទ្ធភាពការប្រើប្រាស់ធនធានប្រព័ន្ធ។

គុណសម្បត្តិយ៉ាងសំខាន់អាចត្រូវបានផ្តល់ដោយប្រព័ន្ធ GSLB (Global Server Load Balancing) ដែលមានសមត្ថភាពដោះស្រាយបញ្ហាតុល្យភាពសម្រាប់កសិដ្ឋានម៉ាស៊ីនមេដែលមានទីតាំងចៃដន្យដោយគិតគូរពីចម្ងាយរបស់ពួកគេពីអតិថិជន។ ប្រព័ន្ធនេះអាចគាំទ្រក្បួនដោះស្រាយតុល្យភាពបន្ទុកផ្សេងៗគ្នាជាច្រើន និងផ្តល់សេវាកម្មល្អបំផុតដល់អតិថិជនដែលនៅរាយប៉ាយជុំវិញពិភពលោក។ សម្រាប់អ្នកគ្រប់គ្រង ប្រព័ន្ធធ្វើឱ្យវាអាចបង្កើតគោលការណ៍គ្រប់គ្រងធនធានដែលអាចបត់បែនបាន។

មធ្យោបាយមួយដើម្បីបង្កើនល្បឿនសេវាកម្មគឺឃ្លាំងសម្ងាត់។ ក្នុងករណីឃ្លាំងសម្ងាត់ដែលបានកំណត់រចនាសម្ព័ន្ធបានល្អ ភាគរយនៃសំណើដែលពេញចិត្តដោយឃ្លាំងសម្ងាត់អាចឈានដល់ 40% ។ ទន្ទឹមនឹងនេះការបង្កើនល្បឿននៃសេវាកម្មអាចត្រូវបានកែលម្អ 30 ដង។

វិធីសាស្រ្តមួយផ្សេងទៀតសម្រាប់ការបង្កើនល្បឿនសេវាកម្មអាចជាការរក្សាទុកទិន្នន័យ ដោយសារជម្រើសនេះកាត់បន្ថយកម្រិតនៃការកកស្ទះនៅលើបណ្តាញបណ្តាញ។

ការគ្រប់គ្រងតុល្យភាពការផ្ទុកអាចត្រូវបានផ្សំជាមួយមុខងារជញ្ជាំងភ្លើងកម្មវិធី (70% នៃការឈ្លានពានដែលទទួលបានជោគជ័យទាញយកភាពងាយរងគ្រោះនៃកម្មវិធី) និងការប្រើប្រាស់ SSL លើផ្លូវរូងក្រោមដី VPN ។ SSL - Secure Sockets Layer - គឺជាពិធីការគ្រីបគ្រីបដែលធានានូវការបង្កើតការតភ្ជាប់សុវត្ថិភាពរវាងម៉ាស៊ីនភ្ញៀវ និងម៉ាស៊ីនមេ។

ដើម្បីសម្រេចបាននូវការឆ្លងកាត់អតិបរមា និងការអត់ធ្មត់កំហុស ជញ្ជាំងភ្លើងអនុញ្ញាតឱ្យអ្នកចែកចាយ ឬធ្វើឱ្យមានតុល្យភាពនៃបន្ទុកដោយប្រើបណ្តាញអ៊ីនធឺណិតដែលមានទាំងអស់ (ម៉ាស៊ីនមេ) ក្នុងពេលដំណាលគ្នា។ ឧទាហរណ៍ អ្នកអាចជៀសវាងស្ថានភាពដែលកញ្ចប់ព័ត៌មានបញ្ជូនតាមបណ្តាញឆ្លងកាត់អ្នកផ្តល់សេវាមួយ ខណៈពេលដែលការចូលប្រើអ៊ីនធឺណិតតាមរយៈអ្នកផ្តល់សេវាផ្សេងទៀតគឺនៅទំនេរ។ ឬចែកចាយសេវាកម្ម និងចរាចរណ៍ផ្ទាល់តាមរយៈបណ្តាញអ៊ីនធឺណែតដែលមានទាំងអស់។ វាអាចធ្វើទៅបានដើម្បីកំណត់រចនាសម្ព័ន្ធការផ្ទុកបន្ទុក ប្រសិនបើការតភ្ជាប់ទៅកាន់អ្នកផ្តល់សេវាត្រូវបានធ្វើឡើងជាមួយនឹងប្រភេទការតភ្ជាប់ផ្សេងគ្នា (Static IP, PPPoE, PPTP/L2TP) ក៏ដូចជាដើម្បីធ្វើឱ្យមានតុល្យភាពចរាចរណ៍ឆ្លងកាត់ផ្លូវរូងក្រោមដី VPN ដែលបានដំឡើងនៅលើចំណុចប្រទាក់រូបវន្តផ្សេងគ្នា។

អង្ករ។ ៤.១២.ផ្ទុកតុល្យភាពឆ្លងកាត់ផ្លូវជាច្រើន។

ជញ្ជាំងភ្លើងស៊េរី D-Link NetDefend ផ្តល់នូវមុខងារដែលត្រូវបានរចនាឡើងដើម្បីធ្វើឱ្យមានតុល្យភាពនៃបន្ទុកបណ្តាញឆ្លងកាត់ផ្លូវផ្សេងៗគ្នា - ផ្លូវ ផ្ទុក តុល្យភាព (RLB) , សមត្ថភាពដែលផ្តល់នូវ:

    តុល្យភាពចរាចរណ៍រវាងចំណុចប្រទាក់ដោយផ្អែកលើគោលការណ៍;

    តុល្យភាពបន្ទុកចរាចរណ៍ជាមួយនឹងការចូលប្រើអ៊ីនធឺណិតច្រើនក្នុងពេលដំណាលគ្នា ដោយប្រើសេវាកម្មរបស់អ្នកផ្តល់សេវាពីរ ឬច្រើន

    តុល្យភាពចរាចរណ៍ឆ្លងកាត់ផ្លូវរូងក្រោមដី VPN ដែលបានដំឡើងនៅលើចំណុចប្រទាក់រូបវន្តផ្សេងគ្នា។

មុខងារតុល្យភាពបន្ទុកនៅក្នុងជញ្ជាំងភ្លើង NetDefend ត្រូវបានបើកដោយផ្អែកលើតារាងនាំផ្លូវដោយបង្កើតវត្ថុ RLB ដែលក្នុងនោះប៉ារ៉ាម៉ែត្រពីរត្រូវបានកំណត់៖ តារាងនាំផ្លូវ និងក្បួនដោះស្រាយ RLB ។ មាន​តែ​វត្ថុ​វត្ថុ​មួយ​ប៉ុណ្ណោះ​ដែល​អាច​ត្រូវ​បាន​ភ្ជាប់​ជាមួយ​តារាង​នាំផ្លូវ។

អង្ករ។ ៤.១៣.ការជ្រើសរើសក្បួនដោះស្រាយតុល្យភាពបន្ទុកនៅក្នុងជញ្ជាំងភ្លើង NetDefend

វាអាចទៅរួចក្នុងការជ្រើសរើសក្បួនដោះស្រាយការចែកចាយបន្ទុកមួយរវាងចំណុចប្រទាក់អ៊ីនធឺណិត៖

    ក្បួនដោះស្រាយ ជុំរ៉ូប៊ីនចែកចាយបន្ទុករវាងចំណុចប្រទាក់ WAN1 និង WAN2 ជាបន្តបន្ទាប់ (ឆ្លាស់គ្នា)។ រាល់ពេលដែលវគ្គចេញថ្មីកើតឡើងពីចំណុចប្រទាក់ LAN ចំណុចប្រទាក់ WAN1 ឬ WAN2 ត្រូវបានជ្រើសរើសដើម្បីផ្ញើកញ្ចប់ព័ត៌មាន។

    ក្បួនដោះស្រាយ នៅពេលអនាគត កញ្ចប់ព័ត៌មានពីវគ្គនេះនឹងប្រើចំណុចប្រទាក់ WAN ដែលបានកំណត់ពីមុន។ សម័យ TCP ត្រូវបានបើក និងបិទនៅលើចំណុចប្រទាក់ WAN ដូចគ្នា។គោលដៅ

    នឹងជៀសវាងបញ្ហាជាមួយនឹងពិធីការមួយចំនួននៅពេលប្រើតុល្យភាពឧទាហរណ៍ FTP ។ ក្បួនដោះស្រាយនេះដំណើរការស្រដៀងគ្នាទៅនឹងក្បួនដោះស្រាយ Round Robin លើកលែងតែទិន្នន័យទាំងអស់ទៅកាន់ម៉ាស៊ីនពីចម្ងាយឆ្លងកាត់ចំណុចប្រទាក់ដែលការតភ្ជាប់ត្រូវបានបង្កើតឡើង។ អត្ថន័យកំណត់ដែនកំណត់ផ្ទុកសម្រាប់ច្រក WAN សំខាន់ ( ការកំណត់ផ្លូវ → ផ្លូវផ្ទុកតុល្យភាព > ការកំណត់ Algoritm) ។ នៅពេលដែលការផ្ទុកនេះត្រូវបានឈានដល់ក្នុងរយៈពេលដែលបានបញ្ជាក់ ច្រក WAN ទីពីរនឹងចាប់ផ្តើមប្រើប្រាស់ (សម្រាប់វគ្គថ្មី)។ ដរាបណាការផ្ទុកនៅលើប៉ុស្តិ៍មេធ្លាក់ចុះ វគ្គថ្មីនឹងត្រូវបានបើកនៅលើវា។

ជុំរ៉ូប៊ីន

ម៉ែត្រលំនាំដើមនៃផ្លូវនីមួយៗគឺសូន្យ។ នៅពេលប្រើក្បួនដោះស្រាយអន្តរ ជុំ រ៉ូប៊ីននិង នៅពេលអនាគត កញ្ចប់ព័ត៌មានពីវគ្គនេះនឹងប្រើចំណុចប្រទាក់ WAN ដែលបានកំណត់ពីមុន។ សម័យ TCP ត្រូវបានបើក និងបិទនៅលើចំណុចប្រទាក់ WAN ដូចគ្នា។អ្នកអាចកំណត់តម្លៃម៉ែត្រផ្សេងគ្នាដើម្បីបង្កើតអាទិភាពសម្រាប់ជ្រើសរើសផ្លូវ។ ផ្លូវដែលមានតម្លៃម៉ែត្រអប្បបរមានឹងត្រូវបានជ្រើសរើសញឹកញាប់ជាងផ្លូវដែលមានតម្លៃម៉ែត្រខ្ពស់ជាង។

ប្រសិនបើនៅក្នុងសេណារីយ៉ូជាមួយអ្នកផ្តល់សេវាអ៊ីនធឺណិតពីរ (កន្សោម "ISP" ត្រូវបានប្រើជាញឹកញាប់) ឧ. អ្នកផ្តល់សេវាអ៊ីនធឺណិត អ្នកចង់ឱ្យចរាចរភាគច្រើនឆ្លងកាត់ការភ្ជាប់ ISP មួយ បន្ទាប់មកអ្នកគួរតែបើក RLB និងកំណត់តម្លៃទាប តម្លៃទៅផ្លូវនៃការតភ្ជាប់ ISP សំខាន់ (ឧទាហរណ៍ 90) ទាក់ទងទៅនឹងទីពីរ (ឧទាហរណ៍ 100) ។

ប្រសិនបើភារកិច្ចគឺដើម្បីធ្វើឱ្យមានតុល្យភាពចរាចររវាងអ្នកផ្តល់អ៊ីនធឺណិតពីរ នោះតម្លៃម៉ែត្រសម្រាប់ផ្លូវទាំងពីរគួរតែត្រូវបានកំណត់ដូចគ្នា។

ការប្រើប្រាស់ Route Metrics ជាមួយនឹង Algorithmអត្ថន័យ

នៅពេលប្រើក្បួនដោះស្រាយ អត្ថន័យសម្រាប់ផ្លូវនីមួយៗ មាត្រដ្ឋានត្រូវតែកំណត់។ ក្នុងករណីនេះ NetDefendOS តែងតែជ្រើសរើសផ្លូវដែលមានតម្លៃម៉ែត្រទាបបំផុត។ ក្បួនដោះស្រាយមិនត្រូវបានរចនាឡើងដើម្បីដំណើរការជាមួយតម្លៃម៉ែត្រដូចគ្នានៃផ្លូវទេ ដូច្នេះអ្នកគ្រប់គ្រងគួរតែកំណត់តម្លៃម៉ែត្រផ្សេងគ្នាសម្រាប់ផ្លូវទាំងអស់ដែលក្បួនដោះស្រាយត្រូវបានអនុវត្ត។អត្ថន័យ.

តម្លៃម៉ែត្រកំណត់លំដាប់ដែលចរាចរណ៍ត្រូវបានបញ្ជូនបន្តទៅផ្លូវផ្សេងទៀត បន្ទាប់ពីផ្លូវដែលបានជ្រើសរើសលើសពីដែនកំណត់ចរាចរណ៍របស់វា។

អ្នក​អាច​បង្កើត​ផ្លូវ​ជំនួស​មួយ​ចំនួន​ដែល​មាន​តម្លៃ​ម៉ែត្រ​ខុស​គ្នា​ដែល​តម្លៃ​កម្រិត​ចាប់ផ្ដើម​សម្រាប់​ការ​កំណត់​ក្បួន​ដោះស្រាយ​ត្រូវ​បាន​កំណត់ - អត្ថន័យ ការកំណត់- សម្រាប់ចំណុចប្រទាក់នីមួយៗ។ ទីមួយផ្លូវដែលមានម៉ែត្រអប្បបរមាត្រូវបានជ្រើសរើស។ នៅពេលដែលការកំណត់ក្បួនដោះស្រាយដែលអាចអនុញ្ញាតបានលើសពីកម្រិតកំណត់ ផ្លូវបន្ទាប់នឹងត្រូវបានជ្រើសរើស។

ប្រសិនបើផ្លូវជំនួសទាំងអស់បានឈានដល់កម្រិតកំណត់ Spillover នោះផ្លូវមិនផ្លាស់ប្តូរទេ។

ការយកចិត្តទុកដាក់៖ តម្លៃម៉ែត្រនៅលើចំណុចប្រទាក់ (ផ្លូវ) ដែលត្រូវបានប្រើក្នុងការធ្វើឱ្យមានតុល្យភាពគួរតែត្រូវបានកំណត់ខ្ពស់ជាងសម្រាប់ចំណុចប្រទាក់ (ផ្លូវ) ផ្សេងទៀត។ តម្លៃម៉ែត្រទាបនៅលើចំណុចប្រទាក់ (ផ្លូវ) ចំណុចប្រទាក់នេះ (ផ្លូវ) កាន់តែញឹកញាប់នឹងត្រូវបានប្រើដើម្បីបង្កើតការតភ្ជាប់ ទាក់ទងទៅនឹងចំណុចប្រទាក់ (ផ្លូវ) ដែលមានតម្លៃម៉ែត្រខ្ពស់ជាង។ ចំណែកនៃការប្រើប្រាស់ចំណុចប្រទាក់ (ផ្លូវ) នឹងសមាមាត្រទៅនឹងភាពខុសគ្នារវាងតម្លៃម៉ែត្រនៅលើចំណុចប្រទាក់ទាំងនេះ (ផ្លូវ) ។

តុល្យភាពបន្ទុកបណ្តាញ និងការដាក់ចង្កោម NA (ការលែងត្រូវការតទៅទៀតឧបករណ៍) នៃជញ្ជាំងភ្លើងNetDefend

កម្រិតខ្ពស់នៃការអត់ធ្មត់កំហុសបណ្តាញត្រូវបានសម្រេចតាមរយៈការប្រើប្រាស់ជញ្ជាំងភ្លើង NetDefend ចំនួនពីរ៖ ឧបករណ៍សំខាន់ (មេ) និង ឧបករណ៍បម្រុងទុក(ទាសករ) ។ ជញ្ជាំងភ្លើងចម្បង និងបម្រុងទុកត្រូវបានភ្ជាប់គ្នា និងបង្កើតជាចង្កោម HA ឡូជីខល។

NetDefend Firewalls មិនគាំទ្រផ្ទុកតុល្យភាពនៅក្នុង HA-ចង្កោមឧបករណ៍, i.e. ការចែកចាយបន្ទុករវាងពួកគេ។ មិនបានផ្តល់ចាប់តាំងពីឧបករណ៍មួយតែងតែសកម្ម (សកម្ម) ខណៈពេលដែលឧបករណ៍ផ្សេងទៀតស្ថិតនៅក្នុងរបៀបរង់ចាំ (អកម្ម)។

អង្ករ។ ៤.១៤.ការដាក់ចង្កោម HA នៃជញ្ជាំងភ្លើង NetDefend

តើតុល្យភាពបន្ទុកគឺជាអ្វី? តាមពិតនេះគឺជាការចែកចាយនៃការចូល ការតភ្ជាប់បណ្តាញរវាងថ្នាំងកុំព្យូទ័រច្រើន។ ក្នុងពេលជាមួយគ្នានេះការប្រើប្រាស់ផ្នែករឹងឬ ដំណោះស្រាយកម្មវិធីក៏ដូចជាក្បួនដោះស្រាយដែលប្រើដើម្បីចែកចាយខ្លឹមសារមិនផ្លាស់ប្តូរទាល់តែសោះ។ ប៉ុន្តែដោយសារការចែកចាយបន្ទុក បញ្ហាធ្ងន់ធ្ងរពីរអាចដោះស្រាយបាន។
ទីមួយ វាគឺជាការចែកចាយបន្ទុករវាងថ្នាំងកុំព្យូទ័រក្នុងស្ថានភាពដែលធនធានរបស់ម៉ាស៊ីនមេមួយមិនគ្រប់គ្រាន់ ហើយការពង្រីកថាមពលរបស់វាបញ្ឈរគឺមិនអាចធ្វើទៅបានទៀតទេ។ ក្នុងករណីនេះចាំបាច់ត្រូវបន្ថែមឯកតាកុំព្យូទ័រមួយទៀតហើយប្រើប្រភេទមួយនៃប្រភេទនៃតុល្យភាព។
ទីពីរ ធានាភាពងាយស្រួល។ ដូចដែលគេដឹងស្រាប់ហើយ ការអត់ឱនចំពោះកំហុសនៃប្រព័ន្ធណាមួយគឺត្រូវ ដំណោះស្រាយផ្នែករឹងឬកម្មវិធីត្រូវបានសម្រេចដោយការចម្លងសមាសភាគសំខាន់ៗ។ ជាអកុសល វាពិតជាគ្មានទេ។ រឹងគួរឱ្យទុកចិត្តថាស ឧបករណ៍បញ្ជា RAID និងឧបករណ៍ផ្សេងទៀត និង កម្រិតទំនើបការសរសេរកម្មវិធីមិនធានាអវត្តមាននៃការបរាជ័យនៅក្នុងកម្មវិធីនោះទេ។ សម្រាប់ហេតុផលនេះ នៅពេលបង្កើតសេវាកម្មដែលអត់ឱនកំហុស អ្វីៗគ្រប់យ៉ាងត្រូវបានចម្លង អ្នកគ្រប់គ្រងបណ្តាញ កុងតាក់ និងចុងក្រោយគឺថ្នាំងកុំព្យូទ័រខ្លួនឯង។ ឧទាហរណ៍ ការផ្ទុកដែលបានបង្កើតនៅលើម៉ាស៊ីនមេមួយអាចមិនធំទេ ប៉ុន្តែក្នុងពេលតែមួយអ្នកចង់ធានាថាការបរាជ័យនៃថ្នាំងមួយ ឬច្រើនមិននាំទៅដល់ការផ្អាកសេវាកម្មនោះទេ។ ក្នុង​ករណី​នេះ ឧបករណ៍​តុល្យភាព​បន្ទុក​អាច​ជា​ដំណោះ​ស្រាយ​ម្ដង​ទៀត។

ប្រភេទជាមូលដ្ឋាន និងបច្ចេកទេសនៃតុល្យភាព

សំខាន់គ្រប់យ៉ាង ប្រភេទដែលមានស្រាប់តុល្យភាពអាចត្រូវបានបែងចែកជាបី ក្រុមសកលខុសគ្នានៅក្នុង "ជម្រៅ" នៃការវិភាគនៃសំណើចូល និងកម្រិតនៃការផ្ទៀងផ្ទាត់ភាពអាចរកបានរបស់ម៉ាស៊ីនមេ។

វិធីសាស្រ្តបឋម

ក្រុមនេះរួមបញ្ចូលទាំងវិធីសាស្រ្តតុល្យភាពដែលមិនត្រូវបានវិភាគតាមវិធីណាមួយឡើយ។ ចរាចរណ៍ចូលហើយកុំពិនិត្យមើលភាពអាចរកបាននៃថ្នាំងកុំព្យូទ័រដែលមានទីតាំងនៅខាងក្រោយពួកវា។ ភាគច្រើន អ្នកតំណាងភ្លឺនៃក្រុមនេះ នេះគឺជាការចែកចាយសំណើជាមួយ ដោយប្រើ DNSអំពីអ្វីដែលខាងក្រោម។

Round Robin DNS

ប្រហែលជាវិធីសាស្រ្តទូទៅបំផុត។ នេះគឺផ្អែកលើការពិតដែលថាការបញ្ជាក់ DNS អនុញ្ញាតឱ្យបង្កើតកំណត់ត្រា A ដូចគ្នាច្រើនដែលមានអាសយដ្ឋាន IP ផ្សេងគ្នា។ ឧទាហរណ៍ អ្នកអាចបង្កើតធាតុពីរសម្រាប់ថ្នាំង srv-01.company.com ជាមួយនឹងអាសយដ្ឋាន IP ផ្សេងគ្នាដែលជាកម្មសិទ្ធិរបស់ ម៉ាស៊ីនមេផ្សេងគ្នា. លើសពីនេះ ជម្រើសពិសេសមួយ (Round robin) ត្រូវតែបើកនៅលើម៉ាស៊ីនមេ DNS ។ ជាលទ្ធផល ជាមួយនឹងសំណើថ្មីនីមួយៗសម្រាប់កំណត់ត្រា srv-01.company.com អាសយដ្ឋាន IP ផ្សេងគ្នានឹងត្រូវបានផ្តល់ឱ្យ ដែលនឹងនាំឱ្យមានការចែកចាយសូម្បីតែនៃការតភ្ជាប់រវាងថ្នាំង។
ប៉ុន្តែទោះបីជាមានភាពងាយស្រួលនិងថោកក៏ដោយ។ ការសម្រេចចិត្តនេះ។, មានការរឹតបន្តឹងមួយចំនួន។ ទីមួយមិនមានវិធីសាស្រ្តសម្រាប់ពិនិត្យមើលភាពអាចរកបាននៃថ្នាំងទេ។ នោះគឺម៉ាស៊ីនមេអាចបរាជ័យ ប៉ុន្តែ DNS នឹងនៅតែផ្តល់អាសយដ្ឋាន IP របស់វាដល់អតិថិជន។ ទីពីរ ចំនួននៃវគ្គបច្ចុប្បន្ននៅលើថ្នាំងជាក់លាក់មួយមិនត្រូវបានយកមកពិចារណាទេ។ ស្ថានភាពអាចកើតឡើងនៅពេលដែលម៉ាស៊ីនមេមួយក្នុងចំណោមម៉ាស៊ីនមេមានវគ្គបើកច្រើនជាងកន្លែងផ្សេងទៀត ប៉ុន្តែការតភ្ជាប់នឹងនៅតែត្រូវបានចែកចាយស្មើៗគ្នា។ ហើយទីបី DNS មិនគិតពី server ណាដែលអ្នកប្រើប្រាស់ត្រូវបានភ្ជាប់ទៅលើកមុនទេ។ វាអាចទៅរួចដែលថាជាមួយនឹងការតភ្ជាប់ថ្មីនីមួយៗ ឧទាហរណ៍ទៅកាន់ស្ថានីយ ឬទៅកាន់ម៉ាស៊ីនមេ វគ្គថ្មីនឹងត្រូវបានបើកនៅលើថ្នាំងផ្សេង ដែលប្រហែលជាមិនគួរឱ្យចង់បាន។
ដោយឡែកពីគ្នា ត្រង់ចំណុចនេះ ខ្ញុំចង់រំលេចសេវាកម្មដូចជា Amazon Route 53។ នេះគឺជាការបង្ហោះ DNS ពពក ដែលអនុញ្ញាតឱ្យអ្នកលើកលែង លក្ខណៈស្តង់ដារចង្អុលបង្ហាញ "ទម្ងន់" នៃកំណត់ត្រា A ដែលដូចគ្នាបេះបិទ ដែលអនុញ្ញាតឱ្យអ្នកចែកចាយសំណើចូលបានកាន់តែបត់បែន។ លើសពីនេះ វាគឺអាចធ្វើទៅបានក្នុងការរួមបញ្ចូលជាមួយ Elastic Load Balancing cloud load balancer ដែលមាននៅក្នុង Amazon Web Services ដែលអនុញ្ញាតឱ្យអ្នកសម្រេចបានសមតុល្យកាន់តែល្អ។

ផងដែរ វិធីសាស្រ្តបឋមរួមមានតុល្យភាពដោយដៃ។

ខ្លឹមសារនៃវិធីសាស្រ្តគឺបែងចែកអ្នកប្រើប្រាស់ទាំងអស់ទៅជាក្រុមជាច្រើន ហើយភ្ជាប់ពួកវាទៅ ម៉ាស៊ីនមេផ្សេងៗ. ឧទាហរណ៍ អង្គការមួយមានបុគ្គលិកពីរនាក់ ម៉ាស៊ីនមេស្ថានីយដំណើរការស្មើគ្នា ផ្លូវកាត់ត្រូវបានបង្កើតនៅលើផ្ទៃតុសម្រាប់ពាក់កណ្តាលនៃអ្នកប្រើប្រាស់ដើម្បីភ្ជាប់ទៅម៉ាស៊ីនមេទីមួយ និងសម្រាប់អ្នកប្រើប្រាស់ដែលនៅសល់ទៅទីពីរ។ លើសពីនេះទៀត ក្នុងករណីមានការបរាជ័យនៃថ្នាំងបច្ចុប្បន្ន ផ្លូវកាត់ត្រូវបានបង្កើតឡើងដើម្បីភ្ជាប់ទៅម៉ាស៊ីនមេផ្សេងទៀតដែលនឹងបម្រើជាការបម្រុងទុក។ ប្រហែលជាវិធីសាស្រ្តបែបនេះគឺអាចអនុវត្តបានតែនៅក្នុងអង្គការតូចៗប៉ុណ្ណោះ ហើយគោលបំណងនៃការចែកចាយបែបនេះគឺមានភាពអត់ឱនចំពោះកំហុសជាក់លាក់ និងមិនមានតុល្យភាព។ ក្នុងករណីនេះមិនចាំបាច់មានទេ។ ឧបករណ៍បន្ថែមនិង កម្មវិធីប៉ុន្តែអ្នកនឹងត្រូវធ្វើការងារដោយដៃតិចតួច។

តុល្យភាពស្រទាប់ដឹកជញ្ជូន (L4)

នេះគឺជាយន្តការសកល និងទូលំទូលាយបំផុត។ អនុវត្តដូចគ្នាសម្រាប់ TCP និង ពិធីការ UDPហើយតាមនោះ ពួកគេអាចចែកចាយចរាចរណ៍ពីសេវាកម្មស្ទើរតែទាំងអស់។ នៅកម្រិតនេះ មានតែអាសយដ្ឋាន IP និងលេខច្រកគោលដៅប៉ុណ្ណោះដែលត្រូវបានពិនិត្យនៅក្នុងកញ្ចប់ព័ត៌មានចូល។ ប្រសិនបើវាត្រូវគ្នានឹងច្បាប់មួយ ចរាចរណ៍នឹងត្រូវបានបញ្ជូនបន្តទៅ ម៉ាស៊ីនមេដែលបានបញ្ជាក់ដោយប្រើយន្តការ sNAT នៅក្នុង តាមរបៀបដែលបានកំណត់. មាតិកានៃកញ្ចប់មិនត្រូវបានពិនិត្យទេ។ វាក៏មិនមានបច្ចេកទេសពិសេសសម្រាប់ពិនិត្យមើលភាពអាចរកបាននៃថ្នាំងកុំព្យូទ័រផងដែរ។ កំពុងដំណើរការ ការត្រួតពិនិត្យសាមញ្ញភាពអាចរកបាននៃអាសយដ្ឋាន និងច្រក។ ប្រសិនបើច្រកត្រូវបានបើក នោះម៉ាស៊ីនមេត្រូវបានចាត់ទុកថាអាចចូលដំណើរការបាន ហើយសំណើបន្តត្រូវបានផ្ញើទៅវា។
កម្មវិធីសមតុល្យផ្នែករឹង និងផ្នែករឹងដែលពេញនិយមបំផុតដំណើរការដោយប្រើយន្តការនេះ រួមទាំងតុល្យភាពបន្ទុកបណ្តាញ (NLB) ដែលប្រើក្នុង ម៉ាស៊ីនមេវីនដូ. ប្រភេទនេះក៏រួមបញ្ចូលផងដែរនូវសេវាកម្មពពកដ៏ពេញនិយមនាពេលបច្ចុប្បន្នដូចជា Elastic Load Balancing ពី Amazon ដែលបានរៀបរាប់ខាងលើ។

តុល្យភាពស្រទាប់កម្មវិធី (L7)

ទម្រង់វិវឌ្ឍន៍នៃតុល្យភាពបន្ទុកនៅកម្រិតកម្មវិធី។ ឧបករណ៍តុល្យភាពបែបនេះត្រូវបានគេហៅថាឧបករណ៍បញ្ជាការចែកចាយកម្មវិធីផងដែរ។ ផ្តោតលើការធ្វើការជាមួយពិធីការកម្រិតខ្ពស់។ ជាចម្បង HTTP\HTTPS ។ នៅទីនេះដូចនៅក្នុងករណីនៃទិដ្ឋភាពមុនច្បាប់ត្រូវបានពិពណ៌នា។ នៅពេលដែលការតភ្ជាប់ត្រូវបានបង្កើតឡើងនៅលើច្រកជាក់លាក់មួយ កញ្ចប់ព័ត៌មានត្រូវបានបញ្ជូនបន្តទៅ អាសយដ្ឋានដែលបានបញ្ជាក់និងច្រកនៃថ្នាំងកុំព្យូទ័រ។ ប៉ុន្តែនៅពេលជ្រើសរើសម៉ាស៊ីនមេជាក់លាក់មួយដើម្បីបញ្ជូនចរាចរទៅកាន់វា ប្រភេទនៃម៉ាស៊ីនភ្ញៀវ URL មាតិកាខូគី មាតិកាដែលបានស្នើសុំ និងប៉ារ៉ាម៉ែត្រមួយចំនួនផ្សេងទៀតត្រូវបានយកមកពិចារណា។ លើសពីនេះ ការពិនិត្យមើលភាពអាចរកបាននៃសេវាកម្មនៅលើថ្នាំងកុំព្យូទ័រត្រូវបានពិនិត្យយ៉ាងឆ្លាតវៃជាង។ ឧទាហរណ៍ URL ជាក់លាក់មួយអាចត្រូវបានស្នើសុំ ហើយមាតិការបស់វាត្រូវពិនិត្យ។
មួយ​ទៀត។ លក្ខណៈពិសេសប្លែកប្រភេទនេះមកពី L4 គឺថាម៉ាស៊ីនមេនៅក្នុងចង្កោមអាចមិនដូចគ្នាបេះបិទ។ ឧទាហរណ៍ ថ្នាំងមួយចំនួនអាចបម្រើទិន្នន័យឋិតិវន្ត ដូចជារូបថត និងវីដេអូ ខណៈពេលដែលម៉ាស៊ីនមេផ្សេងទៀតផ្តល់ខ្លឹមសារដោយប្រើស្គ្រីប HTML និង CSS ។ ក្នុងករណីនេះ ច្បាប់អាចត្រូវបានបង្កើតសម្រាប់ប្រភេទនីមួយៗនៃមាតិកាដែលមានក្បួនដោះស្រាយពិសេសសម្រាប់បញ្ជូនបន្តចរាចរណ៍ទៅ ក្រុមផ្សេងៗម៉ាស៊ីនមេ។ នៅក្នុងប្រភេទនេះ ក៏មានប្រភេទផ្សេងទៀតនៃអ្នកធ្វើសមតុល្យទម្រង់ផងដែរ ដូចជា Citrix NetScaler ជាដើម។ ដំណោះស្រាយនេះមានជំនាញក្នុងការធ្វើសមតុល្យការផ្ទុក និងការកែលម្អដំណើរការនៃផលិតផល Citrix (XenApp, XenDesktop) ក៏ដូចជាកម្មវិធីបណ្តាញ។ បន្ថែមពីលើតុល្យភាពកម្រិតខ្ពស់ វាអាចអនុវត្តការបង្ហាប់មាតិកា ឃ្លាំងសម្ងាត់ដ៏មានអានុភាព ផ្តល់នូវការអ៊ិនគ្រីប ក៏ដូចជាការវិភាគចរាចរណ៍ និងការត្រង។ វាគ្រាន់តែជា ផ្នែកតូចសមត្ថភាពរបស់វា ដែលសមនឹងទទួលបានអត្ថបទដាច់ដោយឡែកមួយ។

នៅពេលដែលសមត្ថភាពម៉ាស៊ីនមេលែងគ្រប់គ្រាន់ សំណួរកើតឡើងថាតើត្រូវទៅវិធីណាបន្ទាប់ទៀត។ ការធ្វើឱ្យប្រសើរឡើងជាញឹកញាប់មិនផ្តល់នូវការកើនឡើងសមាមាត្រទេ ហើយលើសពីនេះទៅទៀត វាមិនផ្តល់នូវការអត់ឱនចំពោះកំហុសដែលត្រូវការនោះទេ។ ដូច្នេះច្រើនបំផុត ជំហានត្រឹមត្រូវ។វានឹងមានម៉ាស៊ីនមេទីពីរដែលបានដំឡើងដែលនឹងយកផ្នែកមួយនៃបន្ទុក។ អ្វីដែលនៅសល់គឺជ្រើសរើសកម្មវិធីដែលនឹងផ្តល់តុល្យភាព។

តើត្រូវជ្រើសរើសពីអ្វី?

ដំណោះស្រាយតុល្យភាពបន្ទុកបណ្តាញមើលទៅដូចគ្នានៅ glance ដំបូង។ ជាការពិត បច្ចេកវិទ្យា និងក្បួនដោះស្រាយជាច្រើនត្រូវបានចូលរួមនៅក្នុងដំណើរការ ដូច្នេះវាមិនអាចទៅរួចទេក្នុងការស្វែងរកផលិតផលដូចគ្នាបេះបិទ។ លក្ខណៈពិសេសដែលមិនច្បាស់លាស់អាចជាការគាំទ្រសម្រាប់ពិធីការជាក់លាក់ (ឧទាហរណ៍មានតែ HTTP ឬណាមួយ) មានប៉ារ៉ាម៉ែត្រផ្សេងទៀតជាច្រើន។

លើសពីនេះ ការផ្ទុកតុល្យភាពអាចបញ្ជូនចរាចរអតិថិជនទៅកាន់ម៉ាស៊ីនមេដែលពេញចិត្តតាមវិធីជាច្រើន។ ការពេញនិយមបំផុត: ការចាក់ផ្សាយ អាសយដ្ឋានបណ្តាញ(ការបកប្រែអាសយដ្ឋានបណ្តាញ) និងផ្ញើតាមច្រក TCP ។ ក្នុងករណីដំបូង តុល្យការជំនួសអាសយដ្ឋាន IP នៅក្នុងកញ្ចប់ព័ត៌មានភ្លាមៗ ដោយហេតុនេះអាចលាក់ IP របស់ម៉ាស៊ីនមេពីម៉ាស៊ីនភ្ញៀវ និងច្រាសមកវិញ។ ប្រសិនបើ IP របស់អតិថិជនត្រូវការដោយកម្មវិធីបញ្ចប់សម្រាប់ស្ថិតិ ឬប្រតិបត្តិការផ្សេងទៀត ជាធម្មតាវាត្រូវបានរក្សាទុកនៅក្នុងបឋមកថា X-Forwarded-for HTTP ។ ប្រសិនបើអ្នកប្រើពិធីការមួយផ្សេងទៀត អ្នកគួរតែធានាថាមុខងារនេះត្រូវបានអនុវត្ត។ ក្នុងករណី TCP gateway អ្នកតុល្យភាពអាចគ្រប់គ្រងចរាចរណ៍នៅកម្រិត L4 (ដឹកជញ្ជូន) និងសូម្បីតែនៅកម្រិតកម្មវិធី (L7)។ ដើម្បីធ្វើដូចនេះវាបង្កើតការភ្ជាប់មួយ ហើយមើលទៅខាងក្នុងកញ្ចប់ព័ត៌មាន។ ជាធម្មតា អតិថិជន និងកម្មវិធីផ្លាស់ប្តូរព័ត៌មានតាមរយៈឧបករណ៍តុល្យភាព។ ប៉ុន្តែថ្មីៗនេះ ការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេជាមួយនឹងការត្រឡប់មកវិញដោយផ្ទាល់ (DSR) បានក្លាយជាការពេញនិយមកាន់តែខ្លាំងឡើងនៅពេលដែលការឆ្លើយតបពីម៉ាស៊ីនមេទៅកាន់អតិថិជនដោយផ្ទាល់ មិនមែនតាមរយៈឧបករណ៍ផ្ទុកតុល្យភាពនោះទេ។ ការប្រើប្រាស់ DSR កាត់បន្ថយការផ្ទុកនៅលើ balancer ប៉ុន្តែមិនអនុញ្ញាតឱ្យប្រើ cookies និងការឌិគ្រីប SSL ទេ។ វិធីសាស្រ្តនេះគឺជាលំដាប់នៃរ៉ិចទ័រលឿនជាងការប្រើតុល្យភាព NAT និងអនុញ្ញាតឱ្យសេវាកម្មមើលឃើញអាសយដ្ឋាន IP ពិតប្រាកដរបស់អតិថិជន។

ផងដែរនៅក្នុងប្រព័ន្ធដែលអ្នកអាចរកបាន វិធីសាស្រ្តផ្សេងគ្នាតុល្យភាព។ សូមក្រឡេកមើលគោលបំណងនៃពួកគេខ្លះ។ នៅក្នុងការកំណត់ផលិតផល ពួកគេអាចមានឈ្មោះផ្សេងគ្នា ឬមុខងារអនុវត្តផ្ទាល់របស់ពួកគេ ប៉ុន្តែជាញឹកញាប់ខ្លឹមសាររបស់វាគឺដូចគ្នា។
សាមញ្ញបំផុតគឺ Round Robin DNS នេះគឺជាម៉ាស៊ីនមេ DNS ពិសេសដែលមានកំណត់ត្រា A ជាច្រើន និងទម្ងន់របស់ពួកគេ (ជាជម្រើស) ហើយចេញអាសយដ្ឋាន IP ផ្សេងៗគ្នា នៅពេលអតិថិជនស្នើសុំវា។ គុណវិបត្តិគឺជាក់ស្តែង។ វាមិនមានព័ត៌មានអំពីការផ្ទុកបច្ចុប្បន្ន និងស្ថានភាពនៃកម្មវិធីខាងក្រោយទេ ហើយមិនគិតពីការភ្ជាប់ម៉ាស៊ីនភ្ញៀវពីមុនទេ (ឃ្លាំងសម្ងាត់ DNS ធ្វើឱ្យស្ថានភាពកាន់តែរលូនបន្តិច)។

មានក្បួនដោះស្រាយស្រដៀងគ្នានៅក្នុងឈ្មោះប៉ុន្តែ ដឹងដោយមធ្យោបាយអ្នកតុល្យភាពខ្លួនវា - ជុំរ៉ូប៊ីន។ អតិថិជនទាំងអស់ត្រូវបានចែកចាយស្មើៗគ្នានៅទូទាំងផ្នែកខាងក្រោយ ហើយជាធម្មតាមិនមានប៉ារ៉ាម៉ែត្រផ្សេងទៀតត្រូវបានយកមកពិចារណានោះទេ។ ក្បួនដោះស្រាយទម្ងន់របស់ Round Robin Weighted យកទៅក្នុងគណនី Weight parameter ដែលបានបញ្ជាក់សម្រាប់ server នីមួយៗ។ តាមរយៈការកំណត់ទម្ងន់កាន់តែច្រើនទៅម៉ាស៊ីនមេដែលមានថាមពលខ្លាំងជាងមុន យើងនឹងអាចដឹកនាំអតិថិជនកាន់តែច្រើនទៅកាន់វា។ ការចែកចាយអាទិភាពដំណើរការខុសគ្នាខ្លះ។ នៅក្នុងក្បួនដោះស្រាយនេះ មានតែម៉ាស៊ីនមេដែលមានអាទិភាពខ្ពស់ប៉ុណ្ណោះដែលនៅសេសសល់ត្រូវបានភ្ជាប់ជាក្បួន លុះត្រាតែវាបរាជ័យ។ ជម្រើសនេះអនុញ្ញាតឱ្យអ្នកបង្កើតចង្កោមជាមួយមួយ។ ថ្នាំងសកម្មឧទាហរណ៍ នៅពេលដែលម៉ាស៊ីនមេទីពីរដំណើរការតួនាទីផ្សេង ហើយបម្រុងទុកតែទីមួយប៉ុណ្ណោះ។ ជម្រើសមួយទៀតគឺការតភ្ជាប់តិចបំផុត (វគ្គតិចបំផុត) - ការតភ្ជាប់ត្រូវបានទទួលយកដោយម៉ាស៊ីនមេដែលបម្រើចំនួនតិចតួចបំផុតនៃការតភ្ជាប់ (វគ្គ) ប៉ុន្តែការតភ្ជាប់អាចខុសគ្នា (អ្នកប្រើប្រាស់សកម្ម ឬអកម្ម) ហើយអាស្រ័យហេតុនេះ ដាក់បន្ទុកផ្សេងគ្នានៅលើ ម៉ាស៊ីនមេ។ ប៉ុន្តែក្បួនដោះស្រាយកម្រិតបញ្ជូនទាបបំផុតគិតគូរពីបន្ទុកបណ្តាញពិតប្រាកដ។

ម៉ាស៊ីនភ្ញៀវស្អិត Hash - ម៉ាស៊ីនភ្ញៀវត្រូវបានចងភ្ជាប់ទៅនឹងម៉ាស៊ីនមេមួយសម្រាប់នេះ ខ្សែអក្សរ hash ដែលបង្ហាញពី IP របស់វាត្រូវបានដាក់ក្នុងតារាងពិសេសមួយ។ ការប្រែប្រួលអាចធ្វើទៅបាន។ ម៉ាស៊ីនភ្ញៀវតែងតែទៅកាន់ម៉ាស៊ីនមេមួយ ហើយប្រសិនបើវាចាកចេញ ការតភ្ជាប់គឺមិនអាចទៅរួចនោះទេ។ ឬនៅពេលដែល "ដើម" មិនឆ្លើយតប វាភ្ជាប់ទៅប្រព័ន្ធផ្សេងទៀត។

ភាពអាចរកបាននៃ backends ត្រូវបានកំណត់ដោយពីរ: សកម្ម ( Keepalive, តុល្យភាពខ្លួនវាស្ទង់មើលម៉ាស៊ីនមេ) និងអកម្ម (នៅក្នុងក្រុម ការតភ្ជាប់បច្ចុប្បន្ន និងការឆ្លើយតបសេវាកម្មត្រូវបានត្រួតពិនិត្យ) ។

តុល្យភាពNG

គម្រោងលេខមួយក្នុងបញ្ជី - BalanceNG គឺជាការអភិវឌ្ឍន៍ ប្រភពបើកចំហដំណោះស្រាយសមតុល្យ ប៉ុន្តែនឹងត្រូវបានចែកចាយក្រោមអាជ្ញាប័ណ្ណទ្វេរដង (ពាណិជ្ជកម្ម និង ឥតគិតថ្លៃអាជ្ញាប័ណ្ណមូលដ្ឋាន) ។ IN កំណែឥតគិតថ្លៃអ្នកអាចភ្ជាប់ម៉ាស៊ីនមេនិម្មិតមួយ និងថ្នាំងពីរ ដែលផ្តល់សមត្ថភាពគ្រប់គ្រាន់ ដើម្បីងាយស្រួលដោះស្រាយជាមធ្យម ហើយជួនកាល បន្ទុកធ្ងន់. វាគឺជាដំណោះស្រាយតុល្យភាពបន្ទុក IP ដែលគាំទ្រ IPv6 និងផ្តល់នូវវិធីសាស្ត្រត្រួតពិនិត្យការជ្រើសរើសផ្នែកខាងក្រោយជាច្រើន (Round Robin, Random, Weighted Random, Least Session, Least Bandwidth, Hash, Agent និង Randomized Agent)។

ផលិតផលប្រើប្រាស់ម៉ាស៊ីនដើមដែលដំណើរការលើស្រទាប់ 2 (អ៊ីសឺរណិត) តុល្យភាពគឺផ្អែកលើអាសយដ្ឋាន IP របស់អតិថិជន ហើយអាចដំណើរការជាមួយសេវាកម្មណាមួយដោយមិនចាំបាច់ភ្ជាប់ទៅនឹងច្រក។ គាំទ្រ DNS GSLB (Global Server Load-Balancing) និង Direct Server Return (DSR) server configuration ដែលការឆ្លើយតបពី server ទៅដោយផ្ទាល់ទៅកាន់អតិថិជនជាជាងតាមរយៈ load balancer ។ មានភ្នាក់ងារត្រួតពិនិត្យ UDP ផ្ទាល់ខ្លួន គាំទ្រ VRRP ដើម្បីដំឡើងការកំណត់ដែលមានកម្រិតខ្ពស់នៅទូទាំងថ្នាំងជាច្រើន។ យន្តការដែលភ្ជាប់មកជាមួយអនុញ្ញាតឱ្យអ្នកចាប់យក និងរក្សាទុកកញ្ចប់ព័ត៌មានដោយប្រើ pcap សម្រាប់ការស៊ើបអង្កេតបន្ថែម។ មានជម្រើសជាច្រើនសម្រាប់ពិនិត្យមើលមុខងារ ប្រព័ន្ធបញ្ចប់៖ agent, ping, TCP Open, script និងឧបករណ៍ផ្សេងទៀតដូចជា wget ។

វាអាចធ្វើទៅបានដើម្បីកក់តុតុល្យការជាមួយនឹងការចម្លងនៃរដ្ឋ NAT រវាងថ្នាំងសំខាន់ និងបម្រុងទុក នៅពេលភ្ជាប់ឡើងវិញ អតិថិជនភ្ជាប់ទៅម៉ាស៊ីនមេដូចគ្នា។ ដើម្បីរក្សាទុកវគ្គ អាសយដ្ឋាន IP របស់អតិថិជន និងច្រកគោលដៅត្រូវបានប្រើ។ ការភ្ជាប់លីនុចត្រូវបានគាំទ្រ។ តារាងទាំងអស់ត្រូវបានរក្សាទុកក្នុង RAM ប៉ុន្តែតម្រូវការគឺតូច; 512 MB នៃអង្គចងចាំគឺគ្រប់គ្រាន់សម្រាប់ 4 លានវគ្គ។
អាចដំណើរការលើ Linux (ដោយប្រើរន្ធ PF_PACKET API) និង SPARC/Intel Solaris (Streams/DLPI API)។ សម្រាប់ការដំឡើង កញ្ចប់ rpm (Red Hat RHEL 6 / CentOS) និង deb (Debian/Ubuntu) និង tarball សម្រាប់ការចែកចាយផ្សេងទៀតត្រូវបានផ្តល់ជូន។ រូបភាពដែលត្រៀមរួចជាស្រេចក៏មានសម្រាប់ផងដែរ។ ម៉ាស៊ីននិម្មិត(ផ្អែកលើអ៊ូប៊ុនទូ 8.04) ដែលអនុញ្ញាតឱ្យអ្នកដាក់ពង្រាយមុខងារដែលត្រូវការយ៉ាងឆាប់រហ័ស។ ក្នុងអំឡុងពេលទាញយក ពាក្យសម្ងាត់ចូលទាំងអស់នឹងត្រូវបានបង្ហាញ។ ភ្នាក់ងារ (bngagent) គឺជាប្រភពបើកចំហ និងគាំទ្រ Linux, Solaris, OS X, HP-UX និងផ្សេងទៀត។
មិនមានចំណុចប្រទាក់សម្រាប់ការកំណត់រចនាសម្ព័ន្ធទេ ការកំណត់ទាំងអស់ត្រូវបានធ្វើឡើងដោយប្រើឯកសារកំណត់រចនាសម្ព័ន្ធ /etc/bng.conf ។ ជាគោលការណ៍ វាមិនអាចហៅថាស្មុគ្រស្មាញបានទេ ជាពិសេសការពិចារណាថាមានច្រើនជាងមួយដប់នៅលើគេហទំព័ររបស់គម្រោង ឧទាហរណ៍ដែលត្រៀមរួចជាស្រេចជាញឹកញាប់អ្នកគ្រាន់តែត្រូវជ្រើសរើសមួយដែលសមស្របបំផុត ហើយកែសម្រួលវាសម្រាប់ខ្លួនអ្នក។


HAProxy

ដំណើរការលើស្ថាបត្យកម្ម x86, x86_64, អាល់ហ្វា, SPARC, MIPS, PARISC ជាច្រើន។ គាំទ្រជាផ្លូវការលីនុច 2.6.32+ (ត្រូវបានណែនាំសម្រាប់ ដំណើរការអតិបរមា) និង 2.4, Solaris 8-10, FreeBSD, OpenBSD ។ ការដំឡើង និងការកំណត់គឺតូចតាច ទោះបីជាកញ្ចប់មិនមានវត្តមាននៅក្នុងឃ្លាំងក៏ដោយ។ គម្រោងផ្តល់ជូន កូដប្រភពមានអាជ្ញាប័ណ្ណក្រោម GPL v2 និងប្រព័ន្ធគោលពីរដែលត្រៀមរួចជាស្រេចសម្រាប់ Linux/x86 Glibc 2.2 និង Solaris8/Sparc ។


ផោន - ប្រូកស៊ី និងតុល្យភាព HTTP និង HTTPS

គោលដៅដើមនៃគម្រោង Pound គឺដើម្បីចែកចាយបន្ទុកឆ្លងកាត់ម៉ាស៊ីនមេ Zope ជាច្រើន ដែលបណ្តាលឱ្យមានឧបករណ៍ផ្តោតខ្លាំងដែលជាប្រូកស៊ីបញ្ច្រាស និងផ្ទុកតុល្យភាពសម្រាប់ HTTP និង HTTPS ។

តុល្យភាពត្រូវបានធ្វើឡើងដោយផ្អែកលើស្ថានភាពសម័យ និងប៉ារ៉ាម៉ែត្រផ្សេងទៀត (URL, ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ, ខូគី, បឋមកថា HTTP)។ ការគាំទ្រពេញលេញ WebDAV ។ មិនដូច HAProxy វាគ្រប់គ្រង SSL ។ បង្កើត​ឡើង​ដោយ​ក្រុមហ៊ុន​បច្ចេកវិទ្យា​ព័ត៌មាន​ដែល​ពាក់ព័ន្ធ​នឹង​សន្តិសុខ​ដែល​ប៉ះពាល់​ដល់​សមត្ថភាព​របស់​ផលិតផល​ផងដែរ។ លក្ខណៈពិសេសមួយគឺវត្តមាននៃមូលដ្ឋាន មុខងារគេហទំព័រកម្មវិធី Firewall, Pound អាចគ្រប់គ្រងភាពត្រឹមត្រូវនៃបឋមកថា HTTP និង HTTPS ដោយលុបចោលនូវអ្វីដែលមិនត្រឹមត្រូវ។ តាមលំនាំដើម សំណើទាំងអស់មិនត្រូវបានអើពើ ប៉ុន្តែអ្នកអាចបង្កើតទម្រង់ URL និងប្រភេទសំណើ (ស្តង់ដារ កម្រិតខ្ពស់ RPC និង WebDAV) ដែលនឹងត្រូវបានពិនិត្យសម្រាប់ការផ្គូផ្គង។ ដោយផ្អែកលើលទ្ធផល ម៉ាស៊ីនមេចុងក្រោយត្រូវបានជ្រើសរើស ឬការតភ្ជាប់ត្រូវបានរារាំង។ ការរចនាដំបូងផ្តល់នូវការជ្រៀតជ្រែកតិចតួចជាមួយចរាចរណ៍ (ឧទាហរណ៍ ការបង្កប់ខូគី) ប៉ុន្តែអាចបញ្ជាក់ X-Forwarded-for ដើម្បីបញ្ជូនអាសយដ្ឋាន IP របស់អ្នកប្រើទៅកាន់ម៉ាស៊ីនមេខាងក្រោយ។

គាំទ្រ IPv6 អាចផ្ទេរអតិថិជន IPv6 ទៅម៉ាស៊ីនមេ IPv4 ។ ព័ត៌មានសម័យត្រូវបានរក្សាទុក ហើយម៉ាស៊ីនភ្ញៀវភ្ជាប់ជាបន្តបន្ទាប់ទៅម៉ាស៊ីនមេរបស់វា។

ពីលក្ខណៈជាក់លាក់ វាមិនត្រឹមតែអាចផ្ញើការតភ្ជាប់ទៅផ្នែកខាងក្រោយប៉ុណ្ណោះទេ ថែមទាំងអាចប្តូរទិសទៅ URL ផ្សេងទៀតផងដែរ។

ផោនមិនតម្រូវឱ្យមានធនធានច្រើនទេ វាគួរឱ្យកត់សម្គាល់ថាលើកលែងតែការអានវិញ្ញាបនបត្រ SSL ដេមិនមិនចូលប្រើថាសរឹងទេ។ អាចដំណើរការក្នុង chroot និងប្រើ setuid/setgid។ មិនមានយន្តការអត់ឱនកំហុសដែលភ្ជាប់មកជាមួយទេ។ មុខងារ Backend តែងតែត្រូវបានពិនិត្យតាមរយៈ HTTP ។

នៅលើប្រព័ន្ធដំណើរការ Pentium D-level វាអាចសម្រេចបាននូវការតភ្ជាប់ប្រហែល 600-800 HTTP និង 200-300 HTTPS ក្នុងមួយវិនាទី។ ដូច្នេះ ចំណុចខ្លាំងរបស់ Pound គឺគម្រោងតូចៗ ដោយផ្តោតលើភាពងាយស្រួល សុវត្ថិភាព និង ការគ្រប់គ្រងបន្ថែមទៀតលើសចរាចរណ៍។ សម្រាប់ច្រើនទៀត បន្ទុកខ្ពស់។អ្នកអភិវឌ្ឍន៍ Pound ខ្លួនឯងណែនាំឱ្យប្រើដំណោះស្រាយផ្សេងទៀត។

ការដំឡើង និងការកំណត់រចនាសម្ព័ន្ធមិនពិបាកខ្លាំងទេ ទោះបីជាពួកវាត្រូវបានធ្វើដោយប្រើឯកសារកំណត់រចនាសម្ព័ន្ធក៏ដោយ (ឯកសារគឺលម្អិតណាស់)។ សាកល្បងជាផ្លូវការនៅលើ Linux, Solaris និង OpenBSD ។ គម្រោងនេះផ្តល់តែកូដប្រភពប៉ុណ្ណោះ កញ្ចប់ដែលត្រៀមរួចជាស្រេចអាចត្រូវបានរកឃើញនៅក្នុងឃ្លាំង SUSE, Debian និង Ubuntu លើសពីនេះ គេហទំព័រនេះមានតំណភ្ជាប់សម្រាប់ Red Hat និងការចែកចាយដែលត្រៀមរួចជាស្រេចដែលបានបង្កើតឡើងនៅលើ FreeBSD ។