მიკროსერვისები და განაწილებული ობიექტების პირველი კანონი (2014) | Mewayz Blog Skip to main content
Hacker News

მიკროსერვისები და განაწილებული ობიექტების პირველი კანონი (2014)

კომენტარები

1 min read Via martinfowler.com

Mewayz Team

Editorial Team

Hacker News

მოჩვენება თანამედროვე მანქანაში: ფუნდამენტური პრინციპის გადახედვა

ციფრული სისწრაფისკენ სწრაფვისას, მიკროსერვისები გახდა არჩევანის არქიტექტურული ნიმუში მასშტაბური, გამძლე აპლიკაციების შესაქმნელად. მონოლითური სისტემის მცირე, დამოუკიდებელი სერვისების კოლექციად დაშლით, განვითარების გუნდებს შეუძლიათ უფრო სწრაფად განახორციელონ ინოვაციები და განათავსონ უფრო მეტი თავდაჯერებულობა. თუმცა, ამ განაწილებულ ძალას თან ახლავს თანდაყოლილი სირთულე. რამდენიმე წლით ადრე, სანამ მიკროსერვისები ყველგან გავრცელდებოდა, წინასწარმეტყველური პრინციპი იყო ჩამოყალიბებული, რომელიც წყვეტს ამ გამოწვევას. 2014 წელს მარტინ ფაულერმა და ჯეიმს ლუისმა მიკროსერვისების შესახებ თავიანთი ძირითადი სამუშაოს დროს შემოიღეს "განაწილებული ობიექტების პირველი კანონი". ეს კანონი აცხადებს მარტივ, სასტიკ სიმართლეს: არ გაავრცელოთ თქვენი ობიექტები. მიუხედავად იმისა, რომ ეს კანონი ეწინააღმდეგება მიკროსერვისების მიდგომას, ეს კანონი არ არის დაგმობა, არამედ გადამწყვეტი გაფრთხილება - გზამკვლევი ვარსკვლავი განაწილებული სისტემების დიზაინის მოღალატე წყლებში ნავიგაციისთვის.

რა არის განაწილებული ობიექტების პირველი კანონი?

ამ კანონის გასაგებად, ჯერ უნდა დავიხიოთ მიკროსერვისებიდან და განვიხილოთ მისი წინამორბედი: განაწილებული ობიექტის პარადიგმა. ტექნოლოგიები, როგორიცაა CORBA, Java RMI და DCOM დაჰპირდა სამყაროს, სადაც ობიექტებს შეეძლოთ შეუფერხებლად დაუკავშირდნენ ქსელის საზღვრებს, თითქოს ისინი ადგილობრივი იყვნენ. იდეა მაცდუნებელი იყო - პროგრამირების ერთიანი მოდელი, რომელიც აცილებდა ქსელის სირთულეებს. თუმცა რეალობა იყო მჭიდრო შეერთების, მყიფე კავშირების და ფარული წარუმატებლობის კოშმარი. „პირველი კანონი“ წარმოიშვა, როგორც ამ ეპოქიდან ძნელად მიღებული გაკვეთილი. იგი ამტკიცებს, რომ ქსელი არ არის გამჭვირვალე; ის არასანდო, ნელი და ძირეულად განსხვავდება ადგილობრივი მეხსიერებისგან. სხვაგვარად წარმოჩენის მცდელობა დისტანციური ზარების ლოკალური მეთოდის გამოძახების მსგავსებით, კატასტროფის რეცეპტია. ის ქმნის სისტემას, სადაც პატარა, დისტანციური უკმარისობა შეიძლება არაპროგნოზირებადი იყოს და სადაც შესრულება შეუცნობელია.

"განაწილებული ობიექტების პირველი კანონი: ნუ გაანაწილებ შენს ობიექტებს. ეს ძვირია, რთულია და მრავალი ხარვეზის წყაროა. ქსელი არ არის გამჭვირვალე."

გაფრთხილებიდან სიბრძნემდე: კანონის გამოყენება მიკროსერვისებზე

თუ პირველი კანონი აფრთხილებს განაწილების შესახებ, როგორ შეიძლება ის გავრცელდეს მიკროსერვისებზე, რომლებიც არსებითად განაწილებულია? მთავარი ინტერპრეტაციაშია. კანონი არ ამბობს "არასოდეს ააშენო განაწილებული სისტემები". ნათქვამია: „ნუ იქნები გულუბრყვილო ამაზე“. მიკროსერვისები, როდესაც სწორად კეთდება, მოიცავს ქსელის რეალობას, ვიდრე ცდილობს მის დამალვას. ისინი ცალსახად იღებენ განაწილებისა და დიზაინის შედეგებს მათთვის. ეს ნიშნავს:

  • დაპროექტება წარუმატებლობისთვის: ვივარაუდოთ, რომ სერვისები წარუმატებელი იქნება და მდგრადობის ნიმუშები, როგორიცაა განმეორებითი ცდები, ამომრთველები და მოხდენილი დეგრადაცია.
  • ასინქრონული კომუნიკაციის ჩართვა: შეტყობინებების რიგებისა და მოვლენებზე ორიენტირებული შაბლონების გამოყენება მჭიდრო, სინქრონული შეერთების თავიდან ასაცილებლად, რომელიც აწუხებდა განაწილებულ ობიექტებს.
  • მკაფიო საზღვრების განსაზღვრა: სერვისების შექმნა ბიზნეს შესაძლებლობების გარშემო, კარგად განსაზღვრული API-ებით და არა ტექნიკური პრობლემებით, რაც იწვევს უფრო სუფთა, უფრო სტაბილურ ინტერფეისებს.
  • მონაცემთა მფლობელობის პრიორიტეტი: უზრუნველყოს, რომ თითოეული სერვისი არის მისი მონაცემების ერთადერთი მფლობელი, თავიდან აიცილოს საერთო მონაცემთა ბაზის საწინააღმდეგო ნიმუში, რომელიც ხელახლა ქმნის მონაცემთა ფენაზე მონოლითურ დაწყვილებას.

ამ თვალსაზრისით, პირველი კანონი არის ფუნდამენტური პრინციპი წარმატებული მიკროსერვისის არქიტექტურისთვის. ის აიძულებს გუნდებს თავიდანვე კრიტიკულად იფიქრონ მომსახურების საზღვრებზე და კომუნიკაციის ნიმუშებზე.

Mewayz: Building on Stable Ground

თანამედროვე ბიზნესისთვის, განაწილებული სისტემების თეორიული გამოწვევები ძალიან სწრაფად ხდება ძალიან პრაქტიკული. ეს არის ის, სადაც Mewayz-ის მსგავსი პლატფორმა კრიტიკულ უპირატესობას იძლევა. მიკროსერვისების ძლიერი არქიტექტურის შექმნა და შენარჩუნება ნულიდან მოითხოვს უზარმაზარ გამოცდილებას და უწყვეტ ძალისხმევას. Mewayz მოქმედებს როგორც მოდულური ბიზნეს OS, რომელიც აერთიანებს განაწილებული ობიექტების პირველი კანონის მძიმე გაკვეთილებს. ის უზრუნველყოფს ძირითად ინფრასტრუქტურას - სერვისის აღმოჩენას, API კარიბჭეებს, ღონისძიების ავტობუსს და მონაცემთა მდგრადობის ფენებს - რომლებიც შექმნილია თავიდანვე განაწილების სირთულეების მოსაგვარებლად. იმის ნაცვლად, რომ თქვენი გუნდი ეჭიდებოდეს ქსელის საიმედოობისა და შეყოვნების სირთულეებს, მათ შეუძლიათ ფოკუსირება მოახდინონ ბიზნეს ლოგიკის განვითარებაზე, რომელიც აწვდის ღირებულებას. Mewayz უზრუნველყოფს, რომ თქვენი განაწილებული სისტემის ფუნდამენტური ელემენტები აგებულია სტაბილურ, დადასტურებულ ნიადაგზე, რაც საშუალებას გაძლევთ გამოიყენოთ მიკროსერვისების მიდგომის უპირატესობები ისე, რომ არ მოხვდეთ ხაფანგებში, რომლებიც ასე გონივრულად იყო განსაზღვრული პირველი კანონით.

დასკვნა: კანონი საუკუნეების განმავლობაში

განაწილებული ობიექტების პირველი კანონი დღესაც ისეთივე აქტუალურია, როგორც 2014 წელს. ის ემსახურება როგორც მარადიულ შეხსენებას, რომ სანამ ტექნოლოგიური პარადიგმები ვითარდება, ფიზიკისა და ქსელების ფუნდამენტური შეზღუდვები არა. ნებისმიერი ორგანიზაციისთვის, რომელიც იწყებს მიკროსერვისების მოგზაურობას, ამ კანონის პატივისცემა არის პირველი ნაბიჯი სისტემის შექმნისკენ, რომელიც არ არის მხოლოდ განაწილებული, არამედ ნამდვილად გამძლე და მასშტაბური. ის ხელს უწყობს მიზანმიმართული დიზაინის ფილოსოფიას მოსახერხებელ აბსტრაქციაზე. Mewayz-ის მსგავსი პლატფორმის არჩევით, თქვენ არ იყენებთ მხოლოდ ტექნოლოგიას; თქვენ ნერგავთ ამ სიბრძნეს თქვენი ბიზნეს ოპერაციების სტრუქტურაში, რაც დარწმუნდებით, რომ თქვენი არქიტექტურა შექმნილია იმისთვის, რომ გაგრძელდეს და შესრულდეს რეალურ სამყაროში.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

ხშირად დასმული კითხვები

მოჩვენება თანამედროვე მანქანაში: ფუნდამენტური პრინციპის გადახედვა

ციფრული სისწრაფისკენ სწრაფვისას, მიკროსერვისები გახდა არჩევანის არქიტექტურული ნიმუში მასშტაბური, გამძლე აპლიკაციების შესაქმნელად. მონოლითური სისტემის მცირე, დამოუკიდებელი სერვისების კოლექციად დაშლით, განვითარების გუნდებს შეუძლიათ უფრო სწრაფად განახორციელონ ინოვაციები და განათავსონ უფრო მეტი თავდაჯერებულობა. თუმცა, ამ განაწილებულ ძალას თან ახლავს თანდაყოლილი სირთულე. რამდენიმე წლით ადრე, სანამ მიკროსერვისები ყველგან გავრცელდებოდა, წინასწარმეტყველური პრინციპი იყო ჩამოყალიბებული, რომელიც წყვეტს ამ გამოწვევას. 2014 წელს მარტინ ფაულერმა და ჯეიმს ლუისმა მიკროსერვისების შესახებ თავიანთი ძირითადი სამუშაოს დროს შემოიღეს "განაწილებული ობიექტების პირველი კანონი". ეს კანონი ამბობს მარტივ, სასტიკ ჭეშმარიტებას: არ გაავრცელოთ თქვენი საგნები. მიუხედავად იმისა, რომ ერთი შეხედვით წინააღმდეგობრივია მიკროსერვისების მიდგომასთან, ეს კანონი არ არის დაგმობა, არამედ გადამწყვეტი გაფრთხილება - გზამკვლევი ვარსკვლავი განაწილებული სისტემების დიზაინის მოღალატე წყლებში ნავიგაციისთვის.

რა არის განაწილებული ობიექტების პირველი კანონი?

ამ კანონის გასაგებად, ჯერ უნდა დავიხიოთ მიკროსერვისებიდან და განვიხილოთ მისი წინამორბედი: განაწილებული ობიექტის პარადიგმა. ტექნოლოგიები, როგორიცაა CORBA, Java RMI და DCOM დაჰპირდა სამყაროს, სადაც ობიექტებს შეეძლოთ შეუფერხებლად დაუკავშირდნენ ქსელის საზღვრებს, თითქოს ისინი ადგილობრივი იყვნენ. იდეა მაცდუნებელი იყო - პროგრამირების ერთიანი მოდელი, რომელიც აცილებდა ქსელის სირთულეებს. თუმცა რეალობა იყო მჭიდრო შეერთების, მყიფე კავშირების და ფარული წარუმატებლობის კოშმარი. „პირველი კანონი“ წარმოიშვა, როგორც ამ ეპოქიდან ძნელად მიღებული გაკვეთილი. იგი ამტკიცებს, რომ ქსელი არ არის გამჭვირვალე; ის არასანდო, ნელი და ძირეულად განსხვავდება ადგილობრივი მეხსიერებისგან. სხვაგვარად წარმოჩენის მცდელობა დისტანციური ზარების ლოკალური მეთოდის გამოძახების მსგავსებით, კატასტროფის რეცეპტია. ის ქმნის სისტემას, სადაც პატარა, დისტანციური უკმარისობა შეიძლება არაპროგნოზირებადი იყოს და სადაც შესრულება შეუცნობელია.

გაფრთხილებიდან სიბრძნემდე: კანონის გამოყენება მიკროსერვისებზე

თუ პირველი კანონი აფრთხილებს განაწილების შესახებ, როგორ შეიძლება ის გავრცელდეს მიკროსერვისებზე, რომლებიც არსებითად განაწილებულია? მთავარი ინტერპრეტაციაშია. კანონი არ ამბობს "არასოდეს ააშენო განაწილებული სისტემები". ნათქვამია: „ნუ იქნები გულუბრყვილო ამაზე“. მიკროსერვისები, როდესაც სწორად კეთდება, მოიცავს ქსელის რეალობას, ვიდრე ცდილობს მის დამალვას. ისინი ცალსახად იღებენ განაწილებისა და დიზაინის შედეგებს მათთვის. ეს ნიშნავს:

Mewayz: Building on Stable Ground

თანამედროვე ბიზნესისთვის, განაწილებული სისტემების თეორიული გამოწვევები ძალიან სწრაფად ხდება ძალიან პრაქტიკული. ეს არის ის, სადაც Mewayz-ის მსგავსი პლატფორმა კრიტიკულ უპირატესობას იძლევა. მიკროსერვისების ძლიერი არქიტექტურის შექმნა და შენარჩუნება ნულიდან მოითხოვს უზარმაზარ გამოცდილებას და უწყვეტ ძალისხმევას. Mewayz მოქმედებს როგორც მოდულური ბიზნეს OS, რომელიც აერთიანებს განაწილებული ობიექტების პირველი კანონის მძიმე გაკვეთილებს. ის უზრუნველყოფს ძირითად ინფრასტრუქტურას - სერვისის აღმოჩენას, API კარიბჭეებს, ღონისძიების ავტობუსს და მონაცემთა მდგრადობის ფენებს - რომლებიც შექმნილია თავიდანვე განაწილების სირთულეების მოსაგვარებლად. იმის ნაცვლად, რომ თქვენი გუნდი ეჭიდებოდეს ქსელის საიმედოობისა და შეყოვნების სირთულეებს, მათ შეუძლიათ ფოკუსირება მოახდინონ ბიზნეს ლოგიკის განვითარებაზე, რომელიც აწვდის ღირებულებას. Mewayz უზრუნველყოფს, რომ თქვენი განაწილებული სისტემის ფუნდამენტური ელემენტები აგებულია სტაბილურ, დადასტურებულ ნიადაგზე, რაც საშუალებას გაძლევთ გამოიყენოთ მიკროსერვისების მიდგომის უპირატესობები ისე, რომ არ მოხვდეთ ხაფანგებში, რომლებიც ასე გონივრულად იყო განსაზღვრული პირველი კანონით.

დასკვნა: კანონი საუკუნეების განმავლობაში

განაწილებული ობიექტების პირველი კანონი დღესაც ისეთივე აქტუალურია, როგორც 2014 წელს. ის ემსახურება როგორც მარადიულ შეხსენებას, რომ სანამ ტექნოლოგიური პარადიგმები ვითარდება, ფიზიკისა და ქსელების ფუნდამენტური შეზღუდვები არა. ნებისმიერი ორგანიზაციისთვის, რომელიც იწყებს მიკროსერვისების მოგზაურობას, ამ კანონის პატივისცემა არის პირველი ნაბიჯი სისტემის შექმნისკენ, რომელიც არ არის მხოლოდ განაწილებული, არამედ ნამდვილად გამძლე და მასშტაბური. ის ხელს უწყობს მიზანმიმართული დიზაინის ფილოსოფიას მოსახერხებელ აბსტრაქციაზე. Mewayz-ის მსგავსი პლატფორმის არჩევით, თქვენ არ იყენებთ მხოლოდ ტექნოლოგიას; თქვენ ნერგავთ ამ სიბრძნეს თქვენი ბიზნეს ოპერაციების სტრუქტურაში, რაც დარწმუნდებით, რომ თქვენი არქიტექტურა შექმნილია იმისთვის, რომ გაგრძელდეს და შესრულდეს რეალურ სამყაროში.

თქვენი ბიზნესის ყველა ინსტრუმენტი ერთ ადგილზე

შეაჩერე მრავალი აპის ჟონგლირება. Mewayz აერთიანებს 208 ხელსაწყოს მხოლოდ 49 დოლარად/თვეში - ინვენტარიდან HR-მდე, დაჯავშნადან ანალიტიკამდე. დასაწყებად საკრედიტო ბარათი არ არის საჭირო.

სცადეთ Meway