ថ្មីៗនេះ យើងបានចាប់ផ្តើមគម្រោងតូចមួយ ដើម្បីសម្អាតពីរបៀបដែលផ្នែកនៃប្រព័ន្ធរបស់យើងទាក់ទងគ្នានៅខាងក្រោយឆាកនៅ Buffer។ បរិបទរហ័សមួយចំនួន៖ យើងប្រើអ្វីមួយដែលហៅថា SQS (សេវាកម្មជួរសាមញ្ញរបស់ Amazon ។ ជួរទាំងនេះដើរតួដូចជាបន្ទប់រង់ចាំសម្រាប់កិច្ចការ។ ផ្នែកមួយនៃប្រព័ន្ធរបស់យើងទម្លាក់សារមួយ ហើយមួយទៀតយកវានៅពេលក្រោយ។ គិតថាវាដូចជាការទុកកំណត់ត្រាសម្រាប់មិត្តរួមការងារ៖ " អូ! ដើម្បីរង់ចាំការឆ្លើយតប។ គម្រោងរបស់យើងគឺដើម្បីអនុវត្តការថែទាំជាប្រចាំ៖ ធ្វើបច្ចុប្បន្នភាពឧបករណ៍ដែលយើងប្រើដើម្បីសាកល្បងជួរក្នុងមូលដ្ឋាន និងសម្អាតការកំណត់រចនាសម្ព័ន្ធរបស់វា។ ប៉ុន្តែខណៈពេលដែលយើងកំពុងគូសផែនទីថាតើជួរដែលយើងប្រើពិតប្រាកដ យើងបានរកឃើញអ្វីមួយដែលយើងមិននឹកស្មានដល់៖ ដំណើរការផ្ទៃខាងក្រោយប្រាំពីរផ្សេងគ្នា (ឬការងារ cron ដែលត្រូវបានកំណត់ភារកិច្ចដែលដំណើរការដោយស្វ័យប្រវត្តិ) និងកម្មករដែលដំណើរការដោយស្ងៀមស្ងាត់អស់រយៈពេលប្រាំឆ្នាំ បញ្ហា តើយើងបានរកឃើញពួកគេដោយរបៀបណា និងអ្វីដែលយើងបានធ្វើអំពីវា។ ហេតុអ្វីបានជាវាសំខាន់ជាងអ្វីដែលអ្នកគិត បាទ/ចាស ការដំណើរការហេដ្ឋារចនាសម្ព័ន្ធដែលមិនចាំបាច់ចំណាយប្រាក់ ខ្ញុំបានគណនាយ៉ាងរហ័ស ហើយសម្រាប់កម្មករម្នាក់នោះ យើងនឹងបានចំណាយ ~ $360-600 ក្នុងរយៈពេល 5 ឆ្នាំ នេះគឺជាចំនួនតិចតួចនៅក្នុងគម្រោងដ៏ធំនៃហិរញ្ញវត្ថុរបស់យើង ប៉ុន្តែខ្ញុំពិតជាមិនមានការខ្ជះខ្ជាយអ្វីទាំងអស់សម្រាប់ដំណើរការនេះ។ ការចំណាយគឺពិតជាផ្នែកតូចបំផុតនៃបញ្ហា។ រាល់ពេលដែលវិស្វករថ្មីចូលរួមជាមួយក្រុម និងរុករកប្រព័ន្ធរបស់យើង ពួកគេបានជួបប្រទះដំណើរការអាថ៌កំបាំងទាំងនេះ "តើបុគ្គលិកនេះធ្វើអ្វី?" ក្លាយជាសំណួរដែលញ៉ាំងពេលវេលាឡើងយន្តហោះ និងបង្កើតភាពមិនប្រាកដប្រជា។ ភាពឆបគ្នានឹងជួសជុលនៅពេលដែលមានការផ្លាស់ប្តូរអ្វីផ្សេង ដែលនាំឱ្យក្រុមរបស់យើងចំណាយវដ្តនៃការថែទាំលើផ្លូវកូដដែលមិនមានគោលបំណង។ ហើយយូរៗទៅ ចំណេះដឹងរបស់ស្ថាប័ននឹងរលត់ទៅ តើនេះជាការជួសជុលបណ្តោះអាសន្នដែលក្លាយជាអចិន្ត្រៃដែរឬទេ? ត្រូវបានបដិសេធ ប៉ុន្តែការងារផ្ទៃខាងក្រោយដែលគាំទ្រវានៅតែបន្តដំណើរការ មាននរណាម្នាក់បង្វិលកម្មករ "បណ្ដោះអាសន្ន" ដើម្បីដោះស្រាយការធ្វើចំណាកស្រុក ហើយវាមិនដែលរហែកទេ កិច្ចការដែលបានកំណត់ពេលនឹងលែងប្រើឡើងវិញបន្ទាប់ពីមានការផ្លាស់ប្តូរស្ថាបត្យកម្ម ប៉ុន្តែគ្មាននរណាម្នាក់គិតចង់ត្រួតពិនិត្យទេ។ យើងធ្លាប់ផ្ញើអ៊ីមែលអបអរខួបកំណើត និងកាលបរិច្ឆេទដែលបានផ្ញើជូនអតិថិជន។ ដើម្បីធ្វើកិច្ចការនេះបច្ចុប្បន្ន អ៊ីមែលផ្ទាល់ខ្លួន ក្នុងអំឡុងពេល refactor នៅឆ្នាំ 2020 យើងបានប្តូរឧបករណ៍អ៊ីមែលប្រតិបត្តិការរបស់យើង ប៉ុន្តែភ្លេចដកបុគ្គលិកនេះចេញ វាបានបន្តដំណើរការអស់រយៈពេល 5 ឆ្នាំទៀត។ ទាំងនេះមិនមែនជាការបរាជ័យរបស់បុគ្គលនោះទេ វាគឺជាការបរាជ័យនៃដំណើរការដោយគ្មានការសម្អាតដោយចេតនាដែលបង្កើតឡើងនៅក្នុងរបៀបដែលយើងធ្វើការ នោះ entropy ឈ្នះ។ របៀបដែលស្ថាបត្យកម្មរបស់យើងបានជួយយើងស្វែងរកវាដូចជាក្រុមហ៊ុនជាច្រើន ការផ្លាស់ប្តូរកូដ microservice របស់ពួកគេ។ សេវាកម្មឯករាជ្យ) កាលពីប៉ុន្មានឆ្នាំមុន។ យើងបានបំបែក monolith របស់យើងទៅជាសេវាកម្មដាច់ដោយឡែក ដែលនីមួយៗមានឃ្លាំងផ្ទាល់ខ្លួន បំពង់ដាក់ពង្រាយ និងហេដ្ឋារចនាសម្ព័ន្ធនៅពេលនោះ វាសមហេតុផល៖ សេវាកម្មនីមួយៗអាចត្រូវបានដាក់ពង្រាយដោយខ្លួនឯង ដោយមានព្រំដែនច្បាស់លាស់រវាងក្រុម។ ប៉ុន្តែប៉ុន្មានឆ្នាំមកនេះ យើងបានរកឃើញផ្នែកលើសនៃការគ្រប់គ្រងឃ្លាំងរាប់សិបកន្លែង លើសពីអត្ថប្រយោជន៍សម្រាប់សេវាតែមួយក្រុម ជាព្រំដែនឡូជីខល ប៉ុន្តែពួកគេរស់នៅជាមួយគ្នានៅកន្លែងតែមួយ។ វាបានក្លាយជាអ្វីដែលធ្វើឱ្យការរកឃើញអាចធ្វើទៅបាន។ នៅក្នុងពិភពសេវាកម្មមីក្រូ ឃ្លាំងនីមួយៗគឺជាកោះរបស់វាផ្ទាល់ បុគ្គលិកដែលត្រូវបានបំភ្លេចចោលនៅក្នុងឃ្លាំងមួយ ប្រហែលជាមិនត្រូវបានកត់សម្គាល់ដោយវិស្វករដែលធ្វើការនៅកន្លែងផ្សេងទៀតទេ មិនមានកន្លែងតែមួយសម្រាប់ស្វែងរកឈ្មោះជួរនោះទេ គ្មានទិដ្ឋភាពរួមនៃអ្វីដែលកំពុងដំណើរការនៅទីណា។ យើងអាចមើលឃើញគ្រប់រូបភាពទាំងអស់នៅក្នុងជួរមួយ។ អ្នកផលិត យើងអាចសង្កេតមើលជួរជាមួយអ្នកផលិត ប៉ុន្តែមិនមានអ្នកប្រើប្រាស់ទេ យើងអាចស្វែងរកបុគ្គលិកដែលតម្រង់ជួរដែលលែងមាន។ ការបង្រួបបង្រួមមិនត្រូវបានរចនាឡើងដើម្បីជួយយើងស្វែងរកហេដ្ឋារចនាសម្ព័ន្ធខ្មោចឆៅនោះទេ ប៉ុន្តែវាបានធ្វើឱ្យមាន។ការរកឃើញស្ទើរតែជៀសមិនរួច។ អ្វីដែលយើងពិតជាបានធ្វើ នៅពេលដែលយើងកំណត់អត្តសញ្ញាណដំណើរការកុមារកំព្រា យើងត្រូវសម្រេចចិត្តថាត្រូវធ្វើអ្វីជាមួយពួកគេ។ នេះជារបៀបដែលយើងចូលទៅជិតវា។ ជាដំបូង យើងបានតាមដាននីមួយៗទៅកាន់ប្រភពដើមរបស់វា។ យើងបានជីកយកប្រវត្តិ git និងឯកសារចាស់ៗ ដើម្បីយល់ពីមូលហេតុដែលបុគ្គលិកម្នាក់ៗត្រូវបានបង្កើតតាំងពីដំបូង។ ក្នុងករណីភាគច្រើន គោលបំណងដើមគឺច្បាស់លាស់៖ ការផ្លាស់ប្តូរទិន្នន័យតែមួយដង មុខងារដែលមានថ្ងៃលិច ដំណោះស្រាយបណ្តោះអាសន្នដែលហួសពីអត្ថប្រយោជន៍របស់វា។ បន្ទាប់មកយើងបញ្ជាក់ថាពួកវាពិតជាមិនបានប្រើទេ។ មុនពេលលុបអ្វីមួយ យើងបានបន្ថែមការកត់ត្រាដើម្បីផ្ទៀងផ្ទាត់ដំណើរការទាំងនេះមិនស្ងាត់ស្ងៀមធ្វើអ្វីមួយដែលសំខាន់ដែលយើងខកខាននោះទេ។ យើងបានត្រួតពិនិត្យពីរបីថ្ងៃ ដើម្បីប្រាកដថាពួកគេមិនត្រូវបានគេហៅមកទាល់តែសោះ ហើយយើងបានដកវាចេញជាបន្តបន្ទាប់។ យើងមិនបានលុបអ្វីៗទាំងអស់ក្នុងពេលតែមួយទេ។ យើងបានលុបដំណើរការម្តងមួយៗ ដោយមើលផលប៉ះពាល់ដែលមិនបានរំពឹងទុក។ (ជាសំណាងល្អ មិនមានអ្វីទាំងអស់។) ជាចុងក្រោយ យើងបានចងក្រងជាឯកសារនូវអ្វីដែលយើងបានរៀន។ យើងបានបន្ថែមកំណត់ចំណាំទៅឯកសារខាងក្នុងរបស់យើងអំពីអ្វីដែលដំណើរការនីមួយៗបានធ្វើដំបូង និងមូលហេតុដែលវាត្រូវបានដកចេញ ដូច្នេះវិស្វករនាពេលអនាគតនឹងមិនឆ្ងល់ថាតើមានអ្វីដែលសំខាន់បានបាត់នោះទេ។ តើមានអ្វីផ្លាស់ប្តូរបន្ទាប់ពីការសម្អាត យើងនៅដំណាក់កាលដំបូងក្នុងការវាស់វែងផលប៉ះពាល់ពេញលេញ ប៉ុន្តែនេះគឺជាអ្វីដែលយើងបានឃើញរហូតមកដល់ពេលនេះ។ សារពើភ័ណ្ឌហេដ្ឋារចនាសម្ព័ន្ធរបស់យើងឥឡូវនេះមានភាពត្រឹមត្រូវ។ ពេល​មាន​គេ​សួរ​ថា​តើ​យើង​មាន​កម្មករ​អ្វី? យើងពិតជាអាចឆ្លើយសំណួរនោះដោយភាពជឿជាក់។ ការសន្ទនាចាប់ផ្តើមមានភាពសាមញ្ញជាងមុនផងដែរ។ វិស្វករថ្មីមិនជំពប់ដួលក្នុងដំណើរការអាថ៌កំបាំង ហើយឆ្ងល់ថាតើពួកគេបាត់បរិបទឬអត់។ មូលដ្ឋានកូដឆ្លុះបញ្ចាំងពីអ្វីដែលយើងធ្វើពិតប្រាកដ មិនមែនជាអ្វីដែលយើងបានធ្វើកាលពី 5 ឆ្នាំមុន។ ចាត់ទុកអ្នកកែឆ្នៃជាបុរាណវត្ថុវិទ្យា និងការការពារការដកយកដ៏ធំបំផុតរបស់ខ្ញុំពីគម្រោងនេះ៖ រាល់ refactor សំខាន់ៗគឺជាឱកាសមួយសម្រាប់បុរាណវិទ្យា។ នៅពេលដែលអ្នកស៊ីជម្រៅនៅក្នុងប្រព័ន្ធមួយ យល់ច្បាស់អំពីរបៀបដែលបំណែកភ្ជាប់គ្នា អ្នកស្ថិតក្នុងស្ថានភាពល្អឥតខ្ចោះដើម្បីសួរអំពីអ្វីដែលនៅតែត្រូវការ។ នោះ​ជា​ជួរ​ពី​គម្រោង​ចាស់​មួយ​ចំនួន​? កម្មករដែលអ្នកណាម្នាក់បានបង្កើតសម្រាប់ការផ្ទេរទិន្នន័យតែម្តង? កិច្ចការ​ដែល​បាន​កំណត់​ពេល​វេលា​ដែល​យោង​ទៅ​លើ​មុខងារ​មួយ​ដែល​អ្នក​មិន​ធ្លាប់​ឮ? ពួកគេប្រហែលជានៅតែដំណើរការ។ នេះជាអ្វីដែលយើងកំពុងបង្កើតនៅក្នុងដំណើរការរបស់យើងទៅមុខ៖ ក្នុងអំឡុងពេលអ្នកកែតម្រូវ សូមសួរថា តើមានអ្វីទៀតដែលប៉ះប្រព័ន្ធនេះដែលយើងមិនបានមើលមួយរយៈ? នៅពេលបដិសេធមុខងារមួយ សូមតាមដានវាគ្រប់វិធីទៅកាន់ដំណើរការផ្ទៃខាងក្រោយរបស់វា មិនមែនត្រឹមតែលេខកូដដែលប្រឈមមុខនឹងអ្នកប្រើប្រាស់នោះទេ។ នៅពេលដែលនរណាម្នាក់ចាកចេញពីក្រុម សូមកត់ត្រានូវអ្វីដែលពួកគេទទួលខុសត្រូវលើកូដនោះ ជាពិសេសនៅក្នុងផ្នែកដែលចាស់ជាងនេះ។ មិន​ទាន់​ត្រូវ​បាន​ផ្លាស់​ប្តូ​រ​ទៅ​កន្លែង​ផ្ទុក​តែ​មួយ​នៅ​ឡើយ​ទេ​។ នៅពេលដែលយើងបន្តការបង្រួបបង្រួម យើងមានទំនុកចិត្តថាយើងនឹងរកឃើញវត្ថុបុរាណដែលលាក់កំបាំងទាំងនេះបន្ថែមទៀត។ ប៉ុន្តែឥឡូវនេះ យើងត្រូវបានរៀបចំឡើងដើម្បីចាប់ពួកវា និងការពារកុំឱ្យបង្កើតថ្មី។ នៅពេលដែលកូដរបស់អ្នកទាំងអស់រស់នៅកន្លែងតែមួយ ហេដ្ឋារចនាសម្ព័ន្ធកុមារកំព្រាគ្មានកន្លែងលាក់ខ្លួនទេ។

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free