សួស្តី! ឈ្មោះរបស់ខ្ញុំគឺ Alexey Pyankov ខ្ញុំជាអ្នកអភិវឌ្ឍន៍នៅក្រុមហ៊ុន Sportmaster ។ នៅក្នុងនោះ។
ថ្ងៃនេះខ្ញុំចង់ចែករំលែកគំនិតដែលធ្វើតាមប្រធានបទមួយទៀត - ការជ្រើសរើសប្រព័ន្ធឃ្លាំងសម្ងាត់សម្រាប់ java backend នៅក្នុងតំបន់គ្រប់គ្រងគេហទំព័រ។ គ្រោងនេះមានអត្ថន័យពិសេសសម្រាប់ខ្ញុំ ទោះបីជារឿងនេះបានលាតត្រដាងត្រឹមតែ 2 ខែក៏ដោយ ក្នុងអំឡុងពេល 60 ថ្ងៃនេះ ពួកយើងធ្វើការ 12-16 ម៉ោង និងគ្មានថ្ងៃសម្រាកតែមួយថ្ងៃ។ ខ្ញុំមិនដែលគិត ឬស្រមៃថាវាអាចធ្វើការខ្លាំងនោះទេ។
ដូច្នេះ ខ្ញុំបានបំបែកអត្ថបទជា 2 ផ្នែក ដើម្បីកុំឲ្យវាផ្ទុកទាំងស្រុង។ ផ្ទុយទៅវិញផ្នែកទីមួយនឹងមានពន្លឺខ្លាំង - ការរៀបចំការណែនាំការពិចារណាមួយចំនួនអំពីអ្វីដែលឃ្លាំងសម្ងាត់។ ប្រសិនបើអ្នកជាអ្នកអភិវឌ្ឍន៍ដែលមានបទពិសោធន៍រួចហើយ ឬបានធ្វើការជាមួយឃ្លាំងសម្ងាត់ ពីផ្នែកបច្ចេកទេស ទំនងជាមិនមានអ្វីថ្មីនៅក្នុងអត្ថបទនេះទេ។ ប៉ុន្តែសម្រាប់ក្មេងតូច ការពិនិត្យឡើងវិញតូចមួយនេះអាចប្រាប់គាត់ថាតើត្រូវរកមើលទិសដៅណា ប្រសិនបើគាត់ឃើញខ្លួនឯងនៅផ្លូវបំបែកបែបនេះ។
នៅពេលដែលកំណែថ្មីនៃគេហទំព័រ Sportmaster ត្រូវបានដាក់ឱ្យដំណើរការ ទិន្នន័យត្រូវបានទទួលតាមរបៀបដែលដាក់វាដោយស្លូតបូត មិនងាយស្រួលនោះទេ។ មូលដ្ឋានគឺជាតារាងដែលបានរៀបចំសម្រាប់កំណែមុននៃគេហទំព័រ (Bitrix) ដែលត្រូវតែទាញចូលទៅក្នុង ETL នាំយកមកនូវទម្រង់ថ្មី និងសំបូរទៅដោយរឿងតូចៗជាច្រើនពីប្រព័ន្ធជាច្រើនទៀត។ ដើម្បីឱ្យរូបភាពថ្មី ឬការពិពណ៌នាផលិតផលបង្ហាញនៅលើគេហទំព័រ អ្នកត្រូវរង់ចាំរហូតដល់ថ្ងៃបន្ទាប់ - ធ្វើបច្ចុប្បន្នភាពតែនៅពេលយប់ មួយថ្ងៃម្តង។
ដំបូងឡើយ មានការព្រួយបារម្ភជាច្រើនពីសប្តាហ៍ដំបូងនៃការចូលផលិតកម្ម ដែលភាពរអាក់រអួលបែបនេះសម្រាប់អ្នកគ្រប់គ្រងមាតិកាគឺជារឿងតូចតាច។ ប៉ុន្តែភ្លាមៗនៅពេលដែលអ្វីៗបានដោះស្រាយរួចរាល់ ការអភិវឌ្ឍន៍គម្រោងបានបន្ត - ពីរបីខែក្រោយមក នៅដើមឆ្នាំ 2015 យើងបានចាប់ផ្តើមអភិវឌ្ឍយ៉ាងសកម្មនូវផ្ទាំងគ្រប់គ្រង។ នៅឆ្នាំ 2015 និង 2016 អ្វីៗដំណើរការល្អ យើងចេញផ្សាយជាទៀងទាត់ បន្ទះគ្រប់គ្រងគ្របដណ្តប់កាន់តែច្រើនឡើងនៃការរៀបចំទិន្នន័យ ហើយយើងកំពុងរៀបចំសម្រាប់ការពិតដែលថាឆាប់ៗនេះក្រុមការងាររបស់យើងនឹងត្រូវបានប្រគល់ឱ្យនូវអ្វីដែលសំខាន់បំផុត និងស្មុគស្មាញបំផុត - ផលិតផល សៀគ្វី (ការរៀបចំពេញលេញនិងការថែរក្សាទិន្នន័យលើផលិតផលទាំងអស់) ។ ប៉ុន្តែនៅរដូវក្តៅឆ្នាំ 2017 មុនពេលចាប់ផ្តើមសៀគ្វីទំនិញគម្រោងនឹងឃើញខ្លួនឯងនៅក្នុងស្ថានភាពលំបាកខ្លាំងណាស់ - ច្បាស់ណាស់ដោយសារតែបញ្ហាជាមួយឃ្លាំងសម្ងាត់។ ខ្ញុំចង់និយាយអំពីវគ្គនេះក្នុងផ្នែកទីពីរនៃការបោះពុម្ពពីរភាគនេះ។
ប៉ុន្តែនៅក្នុងការប្រកាសនេះខ្ញុំនឹងចាប់ផ្តើមពីចម្ងាយខ្ញុំនឹងបង្ហាញគំនិតមួយចំនួន - គំនិតអំពីឃ្លាំងសម្ងាត់ដែលនឹងក្លាយជាជំហានដ៏ល្អដើម្បីរមូរឆ្លងកាត់មុនពេលគម្រោងធំមួយ។
នៅពេលដែលកិច្ចការឃ្លាំងសម្ងាត់កើតឡើង
កិច្ចការឃ្លាំងសម្ងាត់មិនគ្រាន់តែលេចឡើងទេ។ យើងជាអ្នកអភិវឌ្ឍន៍ សរសេរផលិតផលសូហ្វវែរ ហើយចង់ឱ្យវាស្ថិតនៅក្នុងតម្រូវការ។ ប្រសិនបើផលិតផលមានតម្រូវការ និងជោគជ័យ អ្នកប្រើប្រាស់នឹងមក។ ហើយមកកាន់តែច្រើន។ ហើយបន្ទាប់មកមានអ្នកប្រើប្រាស់ច្រើន ហើយបន្ទាប់មកផលិតផលក្លាយជាការផ្ទុកខ្ពស់។
នៅដំណាក់កាលដំបូង យើងមិនគិតពីការបង្កើនប្រសិទ្ធភាព និងការអនុវត្តកូដនោះទេ។ រឿងចំបងគឺមុខងារ បង្កើតអ្នកបើកយន្តហោះយ៉ាងរហ័ស និងសាកល្បងសម្មតិកម្ម។ ហើយប្រសិនបើបន្ទុកកើនឡើងយើងបូមដែក។ យើងបង្កើនវាពីរ ឬបីដង ប្រាំដង ប្រហែលជា 10 ដង។ កន្លែងណាមួយនៅទីនេះ - ហិរញ្ញវត្ថុនឹងមិនអនុញ្ញាតឱ្យវាទៀតទេ។ តើចំនួនអ្នកប្រើប្រាស់នឹងកើនឡើងប៉ុន្មានដង? វានឹងមិនដូច 2-5-10 ទេប៉ុន្តែប្រសិនបើទទួលបានជោគជ័យវានឹងមានពី 100-1000 ទៅ 100 ពាន់ដង។ នោះគឺមិនយូរមិនឆាប់ អ្នកនឹងត្រូវធ្វើការបង្កើនប្រសិទ្ធភាព។
ឧបមាថាផ្នែកខ្លះនៃកូដ (សូមហៅផ្នែកនេះថាមុខងារ) ចំណាយពេលយូរមិនសមរម្យ ហើយយើងចង់កាត់បន្ថយពេលវេលាប្រតិបត្តិ។ មុខងារមួយអាចចូលទៅកាន់មូលដ្ឋានទិន្នន័យ ឬវាអាចជាការប្រតិបត្តិនៃតក្កវិជ្ជាស្មុគស្មាញមួយចំនួន - រឿងសំខាន់គឺថាវាត្រូវការពេលយូរដើម្បីបញ្ចប់។ តើអ្នកអាចកាត់បន្ថយពេលវេលាអនុវត្តបានប៉ុន្មាន? នៅក្នុងដែនកំណត់ អ្នកអាចកាត់បន្ថយវាដល់សូន្យ ដោយមិនបាច់បន្ថែមទៀតទេ។ តើអ្នកអាចកាត់បន្ថយពេលវេលាប្រតិបត្តិទៅសូន្យដោយរបៀបណា? ចម្លើយ៖ លុបបំបាត់ការប្រតិបត្តិទាំងស្រុង។ ផ្ទុយទៅវិញ ត្រឡប់លទ្ធផលភ្លាមៗ។ តើអ្នកអាចរកឃើញលទ្ធផលដោយរបៀបណា? ចម្លើយ៖ ទាំងគណនាវា ឬមើលកន្លែងណាមួយ។ វាត្រូវការពេលយូរដើម្បីគណនា។ ហើយដើម្បីឈ្លបយកការណ៍គឺជាឧទាហរណ៍ដើម្បីចងចាំលទ្ធផលដែលមុខងារផលិតលើកចុងក្រោយនៅពេលហៅជាមួយប៉ារ៉ាម៉ែត្រដូចគ្នា។
នោះគឺការអនុវត្តមុខងារមិនសំខាន់សម្រាប់យើងទេ។ វាគ្រប់គ្រាន់ហើយក្នុងការដឹងពីប៉ារ៉ាម៉ែត្រអ្វីដែលលទ្ធផលអាស្រ័យ។ បន្ទាប់មក ប្រសិនបើតម្លៃប៉ារ៉ាម៉ែត្រត្រូវបានតំណាងក្នុងទម្រង់ជាវត្ថុដែលអាចត្រូវបានប្រើជាសោនៅក្នុងកន្លែងផ្ទុកមួយចំនួន នោះលទ្ធផលនៃការគណនាអាចត្រូវបានរក្សាទុក ហើយអានចេញនៅពេលក្រោយវាត្រូវបានចូលប្រើ។ ប្រសិនបើការសរសេរ និងការអានលទ្ធផលនេះលឿនជាងការប្រតិបត្តិមុខងារ នោះយើងមានផលចំណេញទាក់ទងនឹងល្បឿន។ ចំនួនទឹកប្រាក់នៃប្រាក់ចំណេញអាចឈានដល់ 100, 1000 និង 100 ពាន់ដង (10^5 គឺជាករណីលើកលែង ប៉ុន្តែក្នុងករណីដែលមានមូលដ្ឋានយឺតយ៉ាវ វាពិតជាអាចទៅរួច)។
តម្រូវការមូលដ្ឋានសម្រាប់ប្រព័ន្ធឃ្លាំងសម្ងាត់
រឿងដំបូងដែលអាចក្លាយជាតម្រូវការសម្រាប់ប្រព័ន្ធឃ្លាំងសម្ងាត់គឺល្បឿនអានលឿន ហើយក្នុងកម្រិតតិចជាងបន្តិច ល្បឿនសរសេរ។ នេះជាការពិត ប៉ុន្តែទាល់តែយើងដាក់ប្រព័ន្ធទៅផលិត។
តោះលេងករណីនេះ។
ចូរនិយាយថាយើងបានផ្តល់បន្ទុកបច្ចុប្បន្នជាមួយនឹងផ្នែករឹង ហើយឥឡូវនេះកំពុងណែនាំបន្តិចម្តងៗនូវឃ្លាំងសម្ងាត់។ ចំនួនអ្នកប្រើប្រាស់កើនឡើងបន្តិច បន្ទុកកើនឡើង - យើងបន្ថែមឃ្លាំងសម្ងាត់តូចមួយ វីសវានៅទីនេះ និងទីនោះ។ វាបន្តសម្រាប់ពេលខ្លះ ហើយឥឡូវនេះមុខងារធ្ងន់ៗមិនត្រូវបានគេហៅទៀតទេ - បន្ទុកសំខាន់ទាំងមូលធ្លាក់លើឃ្លាំងសម្ងាត់។ ចំនួនអ្នកប្រើប្រាស់ក្នុងអំឡុងពេលនេះបានកើនឡើង N ដង។
ហើយប្រសិនបើការផ្គត់ផ្គង់ផ្នែករឹងដំបូងអាចមាន 2-5 ដង នោះដោយមានជំនួយពីឃ្លាំងសម្ងាត់ យើងអាចធ្វើឱ្យប្រសើរឡើងនូវការអនុវត្តដោយកត្តា 10 ឬក្នុងករណីល្អដោយកត្តា 100 នៅកន្លែងខ្លះប្រហែលជាដោយកត្តា។ នៃ 1000។ នោះគឺនៅលើផ្នែករឹងដូចគ្នា - យើងដំណើរការសំណើច្រើនជាង 100 ដង។ អស្ចារ្យណាស់ អ្នកសមនឹងទទួលបាននំបុ័ងខ្ញី!
ប៉ុន្តែឥឡូវនេះ នៅពេលដ៏ល្អមួយ ដោយចៃដន្យ ប្រព័ន្ធគាំង ហើយឃ្លាំងសម្ងាត់បានដួលរលំ។ គ្មានអ្វីពិសេសទេ - បន្ទាប់ពីទាំងអស់ ឃ្លាំងសម្ងាត់ត្រូវបានជ្រើសរើសដោយផ្អែកលើតម្រូវការ "ល្បឿនអាន និងសរសេរខ្ពស់ នៅសល់មិនសំខាន់ទេ"។
ទាក់ទងទៅនឹងការផ្ទុកចាប់ផ្តើមការបម្រុងជាតិដែករបស់យើងគឺ 2-5 ដងហើយការផ្ទុកក្នុងអំឡុងពេលនេះបានកើនឡើង 10-100 ដង។ ដោយប្រើឃ្លាំងសម្ងាត់ យើងបានលុបការហៅចេញសម្រាប់មុខងារធ្ងន់ៗ ហើយដូច្នេះអ្វីៗដំណើរការ។ ហើយឥឡូវនេះ បើគ្មានឃ្លាំងសម្ងាត់ តើប្រព័ន្ធរបស់យើងនឹងថយចុះប៉ុន្មានដង? តើនឹងមានអ្វីកើតឡើងចំពោះយើង? ប្រព័ន្ធនឹងធ្លាក់ចុះ។
ទោះបីជាឃ្លាំងសម្ងាត់របស់យើងមិនគាំងក៏ដោយ ប៉ុន្តែត្រូវបានសម្អាតមួយរយៈប៉ុណ្ណោះ វានឹងត្រូវការកំដៅឡើង ហើយវានឹងចំណាយពេលខ្លះ។ ហើយក្នុងអំឡុងពេលនេះបន្ទុកចម្បងនឹងធ្លាក់លើមុខងារ។
សេចក្តីសន្និដ្ឋាន៖ គម្រោងផលិតកម្មដែលមានបន្ទុកខ្ពស់ទាមទារប្រព័ន្ធឃ្លាំងសម្ងាត់មិនត្រឹមតែមានល្បឿនអាន និងសរសេរខ្ពស់ប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងធានាសុវត្ថិភាពទិន្នន័យ និងធន់នឹងការបរាជ័យផងដែរ។
ភាពឈឺចាប់នៃជម្រើស
នៅក្នុងគម្រោងដែលមានផ្ទាំងគ្រប់គ្រង ជម្រើសបានទៅដូចនេះ៖ ដំបូងយើងបានដំឡើង Hazelcast ពីព្រោះ យើងធ្លាប់ស្គាល់ផលិតផលនេះរួចហើយពីបទពិសោធន៍នៃគេហទំព័រសំខាន់។ ប៉ុន្តែនៅទីនេះជម្រើសនេះបានប្រែទៅជាមិនជោគជ័យ - នៅក្រោមទម្រង់ផ្ទុករបស់យើង Hazelcast មិនគ្រាន់តែយឺតទេ ប៉ុន្តែយឺតយ៉ាវណាស់។ ហើយនៅពេលនោះ យើងបានចុះឈ្មោះរួចហើយសម្រាប់កាលបរិច្ឆេទចេញផ្សាយ។
Spoiler៖ តើកាលៈទេសៈបានរីកចម្រើនយ៉ាងណា ដែលយើងខកខានកិច្ចការធំបែបនេះ ហើយបញ្ចប់ដោយស្ថានភាពស្រួចស្រាវ និងតានតឹង - ខ្ញុំនឹងប្រាប់អ្នកនៅក្នុងផ្នែកទីពីរ - និងរបៀបដែលយើងបញ្ចប់ និងរបៀបដែលយើងទទួលបាន។ ប៉ុន្តែឥឡូវនេះ - ខ្ញុំនឹងនិយាយថាវាជាភាពតានតឹងច្រើនហើយ "ដើម្បីគិត - ដូចម្ដេចខ្ញុំមិនអាចគិតបានទេយើងកំពុងញ័រដប" ។ "អង្រួនដប" ក៏ជាការរំខានផងដែរ បន្ថែមទៀតនៅពេលក្រោយ។
អ្វីដែលយើងបានធ្វើ៖
- យើងបង្កើតបញ្ជីប្រព័ន្ធទាំងអស់ដែល Google និង StackOverflow ណែនាំ។ ជាង 30 បន្តិច
- យើងសរសេរការធ្វើតេស្តជាមួយនឹងបន្ទុកធម្មតាសម្រាប់ផលិតកម្ម។ ដើម្បីធ្វើដូចនេះយើងបានកត់ត្រាទិន្នន័យដែលឆ្លងកាត់ប្រព័ន្ធនៅក្នុងបរិយាកាសផលិតកម្ម - ប្រភេទនៃការ sniffer សម្រាប់ទិន្នន័យមិនមែននៅលើបណ្តាញទេប៉ុន្តែនៅខាងក្នុងប្រព័ន្ធ។ ពិតប្រាកដណាស់ ទិន្នន័យនេះត្រូវបានប្រើប្រាស់ក្នុងការធ្វើតេស្ត។
- ជាមួយនឹងក្រុមទាំងមូល អ្នកគ្រប់គ្នាជ្រើសរើសប្រព័ន្ធបន្ទាប់ពីបញ្ជី កំណត់រចនាសម្ព័ន្ធវា និងដំណើរការការធ្វើតេស្ត។ វាមិនឆ្លងកាត់ការសាកល្បងទេ វាមិនផ្ទុកបន្ទុកទេ - យើងបោះវាចោល ហើយបន្តទៅជួរបន្ទាប់ទៀត។
- នៅលើប្រព័ន្ធទី 17 វាច្បាស់ណាស់ថាអ្វីគ្រប់យ៉ាងគឺអស់សង្ឃឹម។ ឈប់អង្រួនដបទៀត ដល់ពេលត្រូវគិតឲ្យច្បាស់ហើយ។
ប៉ុន្តែនេះគឺជាជម្រើសមួយនៅពេលដែលអ្នកត្រូវជ្រើសរើសប្រព័ន្ធដែលនឹង "ឆ្លងកាត់ល្បឿន" នៅក្នុងការធ្វើតេស្តដែលបានរៀបចំជាមុន។ ចុះបើមិនទាន់មានការធ្វើតេស្តបែបនេះហើយចង់ជ្រើសរើសឲ្យបានលឿន?
ចូរយើងយកគំរូតាមជម្រើសនេះ (វាពិបាកក្នុងការស្រមៃថាអ្នកអភិវឌ្ឍន៍កណ្តាល+រស់នៅក្នុងកន្លែងទំនេរមួយ ហើយនៅពេលជ្រើសរើសមិនទាន់បានកំណត់ជាផ្លូវការនូវចំណូលចិត្តរបស់គាត់ថាតើផលិតផលមួយណាដែលត្រូវសាកល្បងមុនគេ - ដូច្នេះហើយ ហេតុផលបន្ថែមទៀតគឺជាទ្រឹស្តី/ទស្សនវិជ្ជា/ អំពីក្មេងជំទង់) ។
ដោយបានសម្រេចចិត្តលើតម្រូវការ យើងនឹងចាប់ផ្តើមជ្រើសរើសដំណោះស្រាយចេញពីប្រអប់។ ហេតុអ្វីបានជាបង្កើតកង់ឡើងវិញ៖ យើងនឹងទៅយកប្រព័ន្ធឃ្លាំងសម្ងាត់ដែលត្រៀមរួចជាស្រេច។
ប្រសិនបើអ្នកទើបតែចាប់ផ្តើម និង google វា បន្ទាប់មកផ្តល់ ឬទទួលយកការបញ្ជាទិញ ប៉ុន្តែជាទូទៅ ការណែនាំនឹងមានលក្ខណៈដូចនេះ។ ជាដំបូង អ្នកនឹងឆ្លងកាត់ Redis វាត្រូវបានគេឮគ្រប់ទីកន្លែង។ បន្ទាប់មកអ្នកនឹងដឹងថា EhCache គឺជាប្រព័ន្ធចាស់ជាងគេ និងបង្ហាញឱ្យឃើញច្រើនបំផុត។ បន្ទាប់យើងនឹងសរសេរអំពី Tarantool ដែលជាការអភិវឌ្ឍន៍ក្នុងស្រុកដែលមានទិដ្ឋភាពពិសេសនៃដំណោះស្រាយ។ ហើយក៏ Ignite ផងដែរ ព្រោះវាកំពុងតែមានការកើនឡើងនៃប្រជាប្រិយភាព និងរីករាយជាមួយនឹងការគាំទ្រពី SberTech ។ នៅចុងបញ្ចប់ក៏មាន Hazelcast ផងដែរពីព្រោះនៅក្នុងពិភពសហគ្រាសវាជារឿយៗលេចឡើងក្នុងចំណោមក្រុមហ៊ុនធំ ៗ ។
បញ្ជីនេះមិនទូលំទូលាយទេ មានប្រព័ន្ធរាប់សិប។ ហើយយើងនឹងវាយតែរឿងមួយ។ តោះយកប្រព័ន្ធ 5 ដែលបានជ្រើសរើសសម្រាប់ "ការប្រលងសម្រស់" ហើយធ្វើការជ្រើសរើស។ តើអ្នកណានឹងក្លាយជាអ្នកឈ្នះ?
Redis
យើងអានអ្វីដែលពួកគេសរសេរនៅលើគេហទំព័រផ្លូវការ។
វាហាក់ដូចជាថាអ្វីគ្រប់យ៉ាងគឺល្អអ្នកអាចយកវាហើយវីសវា - អ្វីគ្រប់យ៉ាងដែលអ្នកត្រូវការវាធ្វើ។ ប៉ុន្តែគ្រាន់តែជាការលេងសើច សូមមើលបេក្ខជនផ្សេងទៀត។
EhCache
Redis ត្រូវបានបំភ្លេចចោល ខ្ញុំត្រៀមខ្លួនរួចរាល់ហើយដើម្បីជ្រើសរើស EhCache ។
ប៉ុន្តែអារម្មណ៍ស្នេហាជាតិជំរុញឱ្យខ្ញុំឃើញអ្វីដែលល្អអំពី Tarantool ។
តារ៉ាន់ធូល។
សូមក្រឡេកមើលការអនុវត្ត៖ ផ្លូវហាយវេសាជីវកម្ម Mail.ru, Avito, Beeline, Megafon, Alfa-Bank, Gazprom ...
ប្រសិនបើនៅតែមានការសង្ស័យអំពី Tarantool នោះករណីអនុវត្តនៅ Mastercard នឹងបញ្ចប់ខ្ញុំ។ ខ្ញុំយក Tarantool ។
ប៉ុន្តែយ៉ាងណាក៏ដោយ…
អេតិត
… មានខ្លះទៀត?
ការអនុវត្ត៖ Sberbank, American Airlines, Yahoo! ជប៉ុន។ ហើយបន្ទាប់មកខ្ញុំដឹងថា Ignite មិនត្រឹមតែត្រូវបានអនុវត្តនៅក្នុង Sberbank ប៉ុណ្ណោះទេ ប៉ុន្តែក្រុម SberTech បានបញ្ជូនមនុស្សរបស់ខ្លួនទៅកាន់ក្រុម Ignite ផ្ទាល់ដើម្បីកែលម្អផលិតផល។ នេះគឺជាការចាប់អារម្មណ៍ទាំងស្រុងហើយខ្ញុំត្រៀមខ្លួនជាស្រេចដើម្បីយក Ignite ។
វាមិនច្បាស់ថាហេតុអ្វីបានជាខ្ញុំកំពុងមើលចំណុចទីប្រាំ។
ហាហ្សែល
ខ្ញុំទៅគេហទំព័រ
នោះហើយជាវា ខ្ញុំត្រៀមខ្លួនជាស្រេចដើម្បីយក Hazelcast ។
ប្រៀបធៀប
ប៉ុន្តែបើក្រឡេកមើលបេក្ខជនទាំង៥រូបត្រូវបានពិពណ៌នាយ៉ាងដូច្នេះថាពួកគេម្នាក់ៗល្អជាងគេ។ តើធ្វើដូចម្តេចដើម្បីជ្រើសរើស? យើងអាចមើលឃើញថាមួយណាដែលពេញនិយមបំផុត រកមើលការប្រៀបធៀប ហើយការឈឺក្បាលនឹងបាត់ទៅ។
យើងរកឃើញមួយដូចនេះ
នៅទីនេះពួកគេត្រូវបានតម្រៀប: Redis នៅកំពូល, Hazelcast ស្ថិតនៅលំដាប់ទីពីរ, Tarantool និង Ignite កំពុងទទួលបានប្រជាប្រិយភាព, EhCache បាននិងនៅដដែល។
ប៉ុន្តែសូមក្រឡេកមើល
ប្រព័ន្ធទាំងអស់នេះមិនគ្រាន់តែជាប្រព័ន្ធឃ្លាំងសម្ងាត់ប៉ុណ្ណោះទេ។ ពួកគេក៏មានមុខងារជាច្រើនផងដែរ រួមទាំងនៅពេលដែលទិន្នន័យមិនត្រូវបានបូមទៅម៉ាស៊ីនភ្ញៀវសម្រាប់ដំណើរការ ប៉ុន្តែផ្ទុយទៅវិញ៖ កូដដែលត្រូវប្រតិបត្តិលើទិន្នន័យផ្លាស់ទីទៅម៉ាស៊ីនមេ ត្រូវបានប្រតិបត្តិនៅទីនោះ ហើយលទ្ធផលត្រូវបានត្រឡប់មកវិញ។ ហើយពួកវាមិនត្រូវបានគេចាត់ទុកជាញឹកញាប់ថាជាប្រព័ន្ធដាច់ដោយឡែកសម្រាប់ឃ្លាំងសម្ងាត់នោះទេ។
មិនអីទេ សូមកុំបោះបង់ យើងស្វែងរកការប្រៀបធៀបដោយផ្ទាល់អំពីប្រព័ន្ធ។ ចូរយកជម្រើសកំពូលពីរ - Redis និង Hazelcast ។ យើងចាប់អារម្មណ៍លើល្បឿន ហើយយើងនឹងប្រៀបធៀបពួកវាដោយផ្អែកលើប៉ារ៉ាម៉ែត្រនេះ។
Hz ទល់នឹង Redis
យើងរកឃើញនេះ។
ពណ៌ខៀវគឺ Redis ពណ៌ក្រហមគឺ Hazelcast ។ Hazelcast ឈ្នះគ្រប់ទីកន្លែង ហើយមានហេតុផលសម្រាប់រឿងនេះ៖ វាមានច្រើនខ្សែ ធ្វើឱ្យប្រសើរខ្ពស់ ខ្សែស្រឡាយនីមួយៗដំណើរការជាមួយភាគថាសផ្ទាល់ខ្លួន ដូច្នេះគ្មានការទប់ស្កាត់ទេ។ ហើយ Redis គឺ single-threaded វាមិនទទួលបានអត្ថប្រយោជន៍ពី CPU multi-core ទំនើបនោះទេ។ Hazelcast មាន I/O អសមកាល Redis-Jedis មានរន្ធបិទ។ យ៉ាងណាមិញ Hazelcast ប្រើពិធីការប្រព័ន្ធគោលពីរ ហើយ Redis គឺផ្តោតលើអត្ថបទ មានន័យថាវាមិនមានប្រសិទ្ធភាពទេ។
ក្នុងករណីនេះ ចូរយើងងាកទៅរកប្រភពផ្សេងទៀតនៃការប្រៀបធៀប។ តើគាត់នឹងបង្ហាញអ្វីដល់យើង?
Redis ទល់នឹង Hz
មួយទៀត
នៅទីនេះផ្ទុយទៅវិញពណ៌ក្រហមគឺ Redis ។ នោះគឺ Redis ធ្វើបានល្អជាង Hazelcast ទាក់ទងនឹងការអនុវត្ត។ Hazelcast បានឈ្នះការប្រៀបធៀបដំបូង Redis ឈ្នះលើកទីពីរ។
វាប្រែថាលទ្ធផលនៃទីមួយគឺពិតជាត្រូវបានជួសជុល: Redis ត្រូវបានគេយកនៅក្នុងប្រអប់មូលដ្ឋាន ហើយ Hazelcast ត្រូវបានកែសម្រួលសម្រាប់ករណីសាកល្បង។ បន្ទាប់មកវាប្រែថា: ទីមួយ យើងមិនអាចទុកចិត្តនរណាម្នាក់បានទេ ហើយទីពីរ នៅពេលដែលយើងជ្រើសរើសប្រព័ន្ធមួយ យើងនៅតែត្រូវកំណត់រចនាសម្ព័ន្ធវាឱ្យបានត្រឹមត្រូវ។ ការកំណត់ទាំងនេះរួមមានប៉ារ៉ាម៉ែត្ររាប់សិប ស្ទើរតែរាប់រយ។
អ្រងួនដប
ហើយខ្ញុំអាចពន្យល់ពីដំណើរការទាំងមូលដែលយើងបានធ្វើឥឡូវនេះដោយប្រើពាក្យប្រៀបធៀបដូចខាងក្រោម៖ «ការអង្រួនដប»។ នោះគឺឥឡូវនេះអ្នកមិនចាំបាច់សរសេរកម្មវិធីទេ ឥឡូវរឿងសំខាន់គឺត្រូវអាចអាន stackoverflow ។ ហើយខ្ញុំមានមនុស្សម្នាក់នៅក្នុងក្រុមរបស់ខ្ញុំ ជាអ្នកជំនាញម្នាក់ ដែលធ្វើការបែបនេះក្នុងគ្រាដ៏លំបាក។
តើគាត់កំពុងធ្វើអ្វី? គាត់ឃើញរបស់ដែលខូច ឃើញដានជង់ យកពាក្យខ្លះពីវា (មួយណាជាជំនាញរបស់គាត់ក្នុងកម្មវិធី) ស្វែងរកនៅលើ Google រកឃើញ stackoverflow ក្នុងចំណោមចម្លើយ។ ដោយមិនអាន ដោយមិនគិត ក្នុងចំណោមចម្លើយចំពោះសំណួរ គាត់បានជ្រើសរើសអ្វីដែលស្រដៀងនឹងប្រយោគ "ធ្វើនេះ ហើយនោះ" (ការជ្រើសរើសចម្លើយបែបនេះ គឺជាទេពកោសល្យរបស់គាត់ ព្រោះវាមិនមែនតែងតែជាចម្លើយដែលទទួលបានការចូលចិត្តបំផុតនោះទេ)។ អនុវត្ត, មើលទៅ: ប្រសិនបើមានអ្វីមួយបានផ្លាស់ប្តូរ, បន្ទាប់មកអស្ចារ្យ។ ប្រសិនបើវាមិនទាន់បានផ្លាស់ប្តូរទេ សូមបង្វិលវាមកវិញ។ ហើយបើកដំណើរការ-ពិនិត្យ-ស្វែងរកម្តងទៀត។ ហើយតាមរបៀបវិចារណញាណនេះ គាត់ធានាថាកូដដំណើរការបន្ទាប់ពីពេលខ្លះ។ គាត់មិនដឹងពីមូលហេតុអ្វី គាត់មិនដឹងថាគាត់ធ្វើអ្វី គាត់មិនអាចពន្យល់បាន។ តែ! ការឆ្លងមេរោគនេះដំណើរការ។ ហើយ "ភ្លើងបានរលត់ហើយ" ។ ឥឡូវនេះ ចូរយើងស្វែងយល់ថាតើយើងបានធ្វើអ្វី។ នៅពេលដែលកម្មវិធីដំណើរការ វាគឺជាលំដាប់នៃទំហំកាន់តែងាយស្រួល។ ហើយវាចំណេញពេលវេលាច្រើន។
វិធីសាស្រ្តនេះត្រូវបានពន្យល់យ៉ាងល្អជាមួយឧទាហរណ៍នេះ។
ធ្លាប់មានប្រជាប្រិយខ្លាំងណាស់ក្នុងការប្រមូលទូកក្ដោងដាក់ក្នុងដប។ ទន្ទឹមនឹងនេះទូកក្តោងមានទំហំធំនិងផុយស្រួយហើយកនៃដបគឺតូចចង្អៀតណាស់វាមិនអាចទៅរួចទេក្នុងការរុញវានៅខាងក្នុង។ តើធ្វើដូចម្តេចដើម្បីប្រមូលផ្តុំវា?
មានវិធីបែបនេះគឺលឿននិងមានប្រសិទ្ធភាពខ្លាំងណាស់។
កប៉ាល់មានរបស់តូចៗជាច្រើន៖ ដំបង ខ្សែពួរ ក្ដោង កាវ។ យើងដាក់ទាំងអស់នេះក្នុងដប។
យើងយកដបដោយដៃទាំងពីរហើយចាប់ផ្តើមញ័រ។ យើងអង្រួននាង។ ហើយជាធម្មតាវាប្រែទៅជាសំរាមពេញលេញ។ ប៉ុន្តែពេលខ្លះ។ ពេលខ្លះវាប្រែជាកប៉ាល់! ច្បាស់ជាងនេះទៅទៀត អ្វីដែលស្រដៀងនឹងកប៉ាល់។
យើងបង្ហាញអ្វីមួយនេះដល់នរណាម្នាក់៖ "Seryoga តើអ្នកឃើញទេ!" ហើយពីចម្ងាយវាមើលទៅដូចជាកប៉ាល់។ ប៉ុន្តែនេះមិនអាចអនុញ្ញាតឱ្យបន្តបានទេ។
មានវិធីមួយផ្សេងទៀត។ ពួកវាត្រូវបានប្រើប្រាស់ដោយបុរសដែលជឿនលឿនជាងមុន ដូចជាពួក Hacker ជាដើម។
ខ្ញុំបានឲ្យបុរសម្នាក់នេះធ្វើកិច្ចការមួយ គាត់បានធ្វើគ្រប់យ៉ាងហើយចាកចេញ។ ហើយអ្នកមើលទៅ - វាមើលទៅដូចជារួចរាល់ហើយ។ ហើយមួយសន្ទុះក្រោយមក នៅពេលដែលលេខកូដត្រូវបញ្ចប់ វាចាប់ផ្តើមដោយសារតែគាត់... ជាការល្អដែលគាត់បានរត់ទៅឆ្ងាយហើយ។ ទាំងនេះគឺជាបុរសដែលប្រើឧទាហរណ៍នៃដបមួយនឹងធ្វើដូចនេះ: អ្នកឃើញកន្លែងដែលបាតគឺកញ្ចក់កោង។ ហើយវាមិនច្បាស់ទាំងស្រុងថាតើវាមានតម្លាភាពឬអត់។ បន្ទាប់មក "ពួក Hacker" កាត់បាតនេះ បញ្ចូលកប៉ាល់នៅទីនោះ បន្ទាប់មកបិទបាតម្តងទៀត ហើយវាហាក់ដូចជានោះហើយជារបៀបដែលវាត្រូវបានសន្មត់ថាជា។
តាមទស្សនៈនៃការកំណត់បញ្ហា អ្វីគ្រប់យ៉ាងហាក់ដូចជាត្រឹមត្រូវ។ ប៉ុន្តែការប្រើកប៉ាល់ជាឧទាហរណ៍៖ ហេតុអ្វីបានជាបង្កើតកប៉ាល់នេះទាំងស្រុង តើអ្នកណាត្រូវការវា? វាមិនផ្តល់មុខងារណាមួយឡើយ។ ជាធម្មតា កប៉ាល់បែបនេះគឺជាអំណោយដល់មនុស្សដែលមានឋានៈខ្ពស់ ដែលដាក់វានៅលើធ្នើរពីលើពួកគេ ដូចជានិមិត្តសញ្ញាមួយចំនួន ជាសញ្ញាសម្គាល់។ ហើយបើបុគ្គលបែបនេះជាប្រធានអាជីវកម្មធំ ឬមន្ត្រីថ្នាក់ខ្ពស់ តើទង់ជាតិឈរយ៉ាងណាចំពោះការលួចកាច់កត្រូវកាត់ចោល? វានឹងប្រសើរជាងប្រសិនបើគាត់មិនដែលដឹងអំពីវា។ ដូច្នេះតើពួកគេបញ្ចប់ដោយរបៀបណាទើបបង្កើតកប៉ាល់ទាំងនេះដែលអាចប្រគល់ឱ្យមនុស្សសំខាន់ម្នាក់?
កន្លែងសំខាន់តែមួយគត់ដែលអ្នកពិតជាមិនអាចធ្វើអ្វីបានអំពីរាងកាយ។ ហើយសំបករបស់កប៉ាល់គឺសមនឹងក។ ចំណែកឯកប៉ាល់ត្រូវបានប្រមូលផ្តុំនៅខាងក្រៅដប។ ប៉ុន្តែវាមិនមែនគ្រាន់តែជាការផ្គុំកប៉ាល់នោះទេ វាគឺជាសិប្បកម្មគ្រឿងអលង្ការពិតប្រាកដ។ ដងថ្លឹងពិសេសត្រូវបានបន្ថែមទៅសមាសធាតុដែលបន្ទាប់មកអនុញ្ញាតឱ្យពួកគេលើក។ ជាឧទាហរណ៍ ក្ដោងត្រូវបានបត់ នាំមកខាងក្នុងដោយប្រុងប្រយ័ត្ន ហើយបន្ទាប់មក ដោយមានជំនួយពីកន្ទុយ ពួកវាត្រូវទាញ និងលើកយ៉ាងជាក់លាក់ ដោយមានភាពត្រឹមត្រូវ។ លទ្ធផលគឺជាស្នាដៃសិល្បៈដែលអាចផ្តល់អំណោយដោយមនសិការ និងមោទនភាព។
ហើយប្រសិនបើយើងចង់ឱ្យគម្រោងនេះទទួលបានជោគជ័យ ត្រូវតែមានក្រុមគ្រឿងអលង្ការយ៉ាងហោចណាស់ម្នាក់។ នរណាម្នាក់ដែលយកចិត្តទុកដាក់លើគុណភាពនៃផលិតផល និងគិតគូរពីគ្រប់ទិដ្ឋភាពទាំងអស់ ដោយមិនលះបង់អ្វីទាំងអស់ សូម្បីតែក្នុងគ្រាតានតឹង នៅពេលដែលមានកាលៈទេសៈតម្រូវឱ្យធ្វើការបន្ទាន់ដោយចំណាយលើការសំខាន់។ គម្រោងជោគជ័យទាំងអស់ដែលមាននិរន្តរភាព ដែលបានឈរលើការសាកល្បងនៃពេលវេលា គឺត្រូវបានបង្កើតឡើងនៅលើគោលការណ៍នេះ។ មានអ្វីមួយដែលច្បាស់លាស់ និងប្លែកពីគេ អ្វីមួយដែលទាញយកប្រយោជន៍ពីលទ្ធភាពដែលមានទាំងអស់។ នៅក្នុងឧទាហរណ៍ជាមួយកប៉ាល់នៅក្នុងដបការពិតដែលថាសំបកនៃកប៉ាល់ឆ្លងកាត់កត្រូវបានលេង។
ត្រឡប់ទៅភារកិច្ចជ្រើសរើសម៉ាស៊ីនមេឃ្លាំងសម្ងាត់របស់យើងវិញ តើវិធីសាស្ត្រនេះអាចត្រូវបានអនុវត្តយ៉ាងដូចម្តេច? ខ្ញុំផ្តល់ជូននូវជម្រើសនេះក្នុងការជ្រើសរើសពីប្រព័ន្ធទាំងអស់ដែលមាន - កុំអ្រងួនដប កុំជ្រើសរើស ប៉ុន្តែមើលអ្វីដែលពួកគេមានជាគោលការណ៍ អ្វីដែលត្រូវរកមើលនៅពេលជ្រើសរើសប្រព័ន្ធ។
កន្លែងដែលត្រូវរកមើលកដប
ចូរយើងព្យាយាមកុំអ្រងួនដប កុំឆ្លងកាត់អ្វីៗទាំងអស់ដែលនៅទីនោះម្តងមួយៗ ប៉ុន្តែសូមមើលថាតើបញ្ហាអ្វីខ្លះនឹងកើតឡើង ប្រសិនបើភ្លាមៗនោះ សម្រាប់កិច្ចការរបស់យើង រចនាប្រព័ន្ធបែបនេះដោយខ្លួនឯង។ ជាការពិតណាស់ យើងនឹងមិនប្រមូលផ្តុំកង់នោះទេ ប៉ុន្តែយើងនឹងប្រើដ្យាក្រាមនេះ ដើម្បីជួយយើងស្វែងយល់ថាតើចំណុចណាដែលត្រូវយកចិត្តទុកដាក់ក្នុងការពិពណ៌នាផលិតផល។ ចូរយើងគូរដ្យាក្រាមបែបនេះ។
ប្រសិនបើប្រព័ន្ធត្រូវបានចែកចាយ នោះយើងនឹងមានម៉ាស៊ីនមេជាច្រើន (6)។ ចូរនិយាយថាមានបួន (វាងាយស្រួលក្នុងការដាក់ពួកវានៅក្នុងរូបភាព ប៉ុន្តែជាការពិត វាអាចមានច្រើនតាមដែលអ្នកចូលចិត្ត)។ ប្រសិនបើម៉ាស៊ីនមេស្ថិតនៅលើថ្នាំងផ្សេងគ្នា វាមានន័យថាពួកវាទាំងអស់ដំណើរការកូដមួយចំនួនដែលទទួលខុសត្រូវក្នុងការធានាថាថ្នាំងទាំងនេះបង្កើតជាចង្កោម ហើយក្នុងករណីមានការដាច់ ភ្ជាប់ និងទទួលស្គាល់គ្នាទៅវិញទៅមក។
យើងក៏ត្រូវការតក្កវិជ្ជាកូដ (2) ដែលតាមពិតអំពីឃ្លាំងសម្ងាត់។ អតិថិជនធ្វើអន្តរកម្មជាមួយកូដនេះតាមរយៈ API មួយចំនួន។ លេខកូដអតិថិជន (1) អាចស្ថិតនៅក្នុង JVM ដូចគ្នា ឬចូលប្រើវាតាមបណ្តាញ។ តក្កវិជ្ជាដែលបានអនុវត្តនៅខាងក្នុងគឺការសម្រេចចិត្តថាតើវត្ថុមួយណាត្រូវទុកក្នុងឃ្លាំងសម្ងាត់ និងមួយណាដែលត្រូវបោះចោល។ យើងប្រើអង្គចងចាំ (3) ដើម្បីរក្សាទុកឃ្លាំងសម្ងាត់ ប៉ុន្តែប្រសិនបើចាំបាច់ យើងអាចរក្សាទុកទិន្នន័យមួយចំនួននៅលើថាស (4) ។
តោះមើលផ្នែកណាដែលបន្ទុកនឹងកើតឡើង។ តាមពិត រាល់ព្រួញ និងគ្រប់ថ្នាំងទាំងអស់នឹងត្រូវបានផ្ទុក។ ទីមួយ រវាងកូដម៉ាស៊ីនភ្ញៀវ និង api ប្រសិនបើនេះគឺជាការទំនាក់ទំនងបណ្តាញ ការធ្លាក់ចុះអាចគួរឱ្យកត់សម្គាល់។ ទីពីរនៅក្នុងក្របខ័ណ្ឌនៃ api ខ្លួនវា - ប្រសិនបើយើងធ្វើឱ្យវាហួសប្រមាណជាមួយនឹងតក្កវិជ្ជាស្មុគស្មាញនោះយើងអាចមានបញ្ហាជាមួយស៊ីភីយូ។ ហើយវានឹងល្អប្រសិនបើតក្កវិជ្ជាមិនខ្ជះខ្ជាយពេលវេលាលើការចងចាំ។ ហើយនៅតែមានអន្តរកម្មជាមួយប្រព័ន្ធឯកសារ - នៅក្នុងកំណែធម្មតានេះគឺ serialize / restore និងសរសេរ / អាន។
បន្ទាប់គឺអន្តរកម្មជាមួយចង្កោម។ ភាគច្រើនទំនងជាវានឹងស្ថិតនៅក្នុងប្រព័ន្ធតែមួយ ប៉ុន្តែវាអាចដាច់ដោយឡែកពីគ្នា។ នៅទីនេះអ្នកក៏ត្រូវយកទៅក្នុងគណនីផ្ទេរទិន្នន័យទៅវា ល្បឿននៃសៀរៀលទិន្នន័យ និងអន្តរកម្មរវាងចង្កោម។
ឥឡូវនេះ ម៉្យាងវិញទៀត យើងអាចស្រមៃថា "តើប្រអប់លេខមួយណានឹងប្រែជា" នៅក្នុងប្រព័ន្ធឃ្លាំងសម្ងាត់ នៅពេលដំណើរការសំណើពីកូដរបស់យើង ហើយម្យ៉ាងវិញទៀត យើងអាចប៉ាន់ស្មានបានថា តើលេខកូដរបស់យើងនឹងបង្កើតសំណើអ្វីខ្លះដល់ប្រព័ន្ធនេះ។ នេះគឺគ្រប់គ្រាន់ដើម្បីធ្វើជម្រើសច្រើន ឬតិច - ដើម្បីជ្រើសរើសប្រព័ន្ធសម្រាប់ករណីប្រើប្រាស់របស់យើង។
ហាហ្សែល
តោះមើលរបៀបអនុវត្តការរលួយនេះទៅក្នុងបញ្ជីរបស់យើង។ ឧទាហរណ៍ Hazelcast ។
ដើម្បីដាក់/យកទិន្នន័យពី Hazelcast កូដអតិថិជនចូលប្រើ (1) api ។ Hz អនុញ្ញាតឱ្យអ្នកដំណើរការម៉ាស៊ីនមេដូចដែលបានបង្កប់ ហើយក្នុងករណីនេះ ការចូលប្រើ api គឺជាការហៅតាមវិធីសាស្ត្រនៅខាងក្នុង JVM ដែលអាចចាត់ទុកថាឥតគិតថ្លៃ។
ដើម្បីឱ្យតក្កវិជ្ជានៅក្នុង (2) ដំណើរការ Hz ពឹងផ្អែកលើ hash នៃអារេបៃនៃគ្រាប់ចុចសៀរៀល - នោះគឺ គ្រាប់ចុចនឹងត្រូវបានសៀរៀលនៅក្នុងករណីណាមួយ។ នេះគឺជាការលើសចំណុះដែលជៀសមិនរួចសម្រាប់ Hz ។
យុទ្ធសាស្ត្របណ្តេញចេញត្រូវបានអនុវត្តយ៉ាងល្អ ប៉ុន្តែសម្រាប់ករណីពិសេស អ្នកអាចបន្ថែមផ្ទាល់ខ្លួនរបស់អ្នក។ អ្នកមិនចាំបាច់ព្រួយបារម្ភអំពីផ្នែកនេះទេ។
ឧបករណ៍ផ្ទុក (4) អាចភ្ជាប់បាន។ អស្ចារ្យ។ អន្តរកម្ម (5) សម្រាប់បង្កប់អាចត្រូវបានចាត់ទុកថាជាបន្ទាន់។ ការផ្លាស់ប្តូរទិន្នន័យរវាងថ្នាំងនៅក្នុងចង្កោម (6) - បាទ វាមាន។ នេះជាការវិនិយោគក្នុងការអត់ឱនចំពោះកំហុសដោយចំណាយល្បឿន។ មុខងារ Hz Near-cache អនុញ្ញាតឱ្យអ្នកកាត់បន្ថយតម្លៃ - ទិន្នន័យដែលទទួលបានពីថ្នាំងផ្សេងទៀតនៅក្នុងចង្កោមនឹងត្រូវបានទុកក្នុងឃ្លាំងសម្ងាត់។
តើអាចធ្វើអ្វីបានក្នុងលក្ខខណ្ឌបែបនេះដើម្បីបង្កើនល្បឿន?
ជាឧទាហរណ៍ ដើម្បីជៀសវាងការធ្វើសៀរៀលនៃសោក្នុង (2) - ភ្ជាប់ឃ្លាំងសម្ងាត់មួយទៀតនៅលើកំពូលនៃ Hazelcast សម្រាប់ទិន្នន័យក្តៅបំផុត។ Sportmaster បានជ្រើសរើសកាហ្វេអ៊ីនសម្រាប់គោលបំណងនេះ។
សម្រាប់ការបង្វិលនៅកម្រិត (6) Hz ផ្តល់នូវការផ្ទុកពីរប្រភេទ៖ IMap និង ReplicatedMap ។
វាមានតម្លៃនិយាយអំពីរបៀបដែល Hazelcast ចូលទៅក្នុងជង់បច្ចេកវិទ្យា Sportmaster ។
ក្នុងឆ្នាំ 2012 នៅពេលដែលយើងកំពុងធ្វើការលើការសាកល្បងដំបូងនៃគេហទំព័រនាពេលអនាគត វាគឺជា Hazelcast ដែលប្រែទៅជាតំណភ្ជាប់ដំបូងដែលម៉ាស៊ីនស្វែងរកត្រឡប់មកវិញ។ អ្នកស្គាល់គ្នាបានចាប់ផ្តើម "ជាលើកដំបូង" - យើងចាប់អារម្មណ៍ដោយការពិតដែលថាគ្រាន់តែពីរម៉ោងក្រោយមកនៅពេលដែលយើងចុច Hz ចូលទៅក្នុងប្រព័ន្ធវាដំណើរការ។ ហើយវាដំណើរការបានល្អ។ នៅចុងបញ្ចប់នៃថ្ងៃយើងបានបញ្ចប់ការធ្វើតេស្តមួយចំនួនហើយសប្បាយចិត្ត។ ហើយកម្លាំងបម្រុងនេះគឺគ្រប់គ្រាន់ដើម្បីយកឈ្នះការភ្ញាក់ផ្អើលដែល Hz បានកើនឡើងតាមពេលវេលា។ ឥឡូវនេះក្រុម Sportmaster មិនមានហេតុផលដើម្បីបោះបង់ចោល Hazelcast ទេ។
ប៉ុន្តែអំណះអំណាងដូចជា "តំណភ្ជាប់ដំបូងនៅក្នុងម៉ាស៊ីនស្វែងរក" និង "HelloWorld ត្រូវបានប្រមូលផ្តុំយ៉ាងឆាប់រហ័ស" ជាការពិតគឺជាករណីលើកលែង និងលក្ខណៈពិសេសមួយនៃពេលដែលជម្រើសបានកើតឡើង។ ការធ្វើតេស្តពិតប្រាកដសម្រាប់ប្រព័ន្ធដែលបានជ្រើសរើសចាប់ផ្តើមជាមួយនឹងការចេញផ្សាយទៅក្នុងផលិតកម្ម ហើយវាគឺនៅដំណាក់កាលនេះដែលអ្នកគួរតែយកចិត្តទុកដាក់នៅពេលជ្រើសរើសប្រព័ន្ធណាមួយ រួមទាំងឃ្លាំងសម្ងាត់ផងដែរ។ តាមពិតក្នុងករណីរបស់យើងយើងអាចនិយាយបានថាយើងបានជ្រើសរើស Hazelcast ដោយចៃដន្យ ប៉ុន្តែក្រោយមកវាបានប្រែក្លាយថាយើងបានជ្រើសរើសត្រឹមត្រូវ។
សម្រាប់ការផលិត មានសារៈសំខាន់ជាងនេះទៅទៀត៖ ការត្រួតពិនិត្យ ការដោះស្រាយការបរាជ័យលើថ្នាំងនីមួយៗ ការចម្លងទិន្នន័យ ការចំណាយលើការធ្វើមាត្រដ្ឋាន។ នោះគឺវាគួរអោយយកចិត្តទុកដាក់ចំពោះកិច្ចការដែលនឹងកើតឡើងកំឡុងពេលថែទាំប្រព័ន្ធ - នៅពេលដែលការផ្ទុកឡើងខ្ពស់ជាងការគ្រោងទុករាប់សិបដង នៅពេលដែលយើងបង្ហោះអ្វីមួយខុសកន្លែងដោយចៃដន្យ នៅពេលដែលយើងត្រូវដាក់ចេញកំណែថ្មី នៃកូដ ជំនួសទិន្នន័យ ហើយធ្វើវាដោយមិនបានកត់សម្គាល់សម្រាប់អតិថិជន។
សម្រាប់តម្រូវការទាំងអស់នេះ Hazelcast ពិតជាសាកសមនឹងវិក័យប័ត្រ។
នៅមានជាបន្តទៀត
ប៉ុន្តែ Hazelcast មិនមែនជា panacea ទេ។ នៅឆ្នាំ 2017 យើងបានជ្រើសរើស Hazelcast សម្រាប់ឃ្លាំងសម្ងាត់គ្រប់គ្រង ដោយគ្រាន់តែផ្អែកលើចំណាប់អារម្មណ៍ល្អពីបទពិសោធន៍កន្លងមក។ រឿងនេះដើរតួយ៉ាងសំខាន់នៅក្នុងរឿងកំប្លែងដ៏ឃោរឃៅបំផុត ដោយសារតែការដែលយើងបានរកឃើញថាខ្លួនយើងស្ថិតក្នុងស្ថានភាពលំបាក ហើយ "វីរភាព" បានចេញពីវាអស់រយៈពេល 60 ថ្ងៃ។ ប៉ុន្តែបន្ថែមទៀតនៅលើវានៅក្នុងផ្នែកបន្ទាប់។
ក្នុងពេលនេះ... Happy New Code!
ប្រភព: www.habr.com