د معمارۍ سټایل غوره کول (1 برخه)

سلامونه او نیکې هیلې د نوي کورس جریان لپاره نوم لیکنه همدا اوس په OTUS کې خلاصه ده "د سافټویر معمار". د کورس د پیل په ماښام، زه غواړم تاسو سره زما اصلي مقاله شریکه کړم.

پېژندنه

د معمارۍ سټایل انتخاب یو له بنسټیزو تخنیکي پریکړو څخه دی کله چې د معلوماتو سیسټم رامینځته کول. د مقالو پدې لړۍ کې ، زه وړاندیز کوم چې د غوښتنلیکونو جوړولو لپاره ترټولو مشهور معماري سټایلونه تحلیل کړم او دې پوښتنې ته ځواب ورکړم چې کوم معماري سټایل خورا غوره دی. د پریزنټشن په بهیر کې، زه به هڅه وکړم چې یو منطقي سلسله راوباسئ چې د معماري سټایلونو پراختیا له مونولیتس څخه مایکرو سرویسونو ته تشریح کوي.

یو څه تاریخ

که تاسو هڅه وکړئ له پراختیا کونکو څخه وپوښتئ: "ولې موږ مایکرو خدماتو ته اړتیا لرو؟" ، تاسو به مختلف ځوابونه ترلاسه کړئ. تاسو به واورئ چې مایکرو خدمتونه د توزیع وړتیا ښه کوي، کوډ د پوهیدلو لپاره اسانه کوي، د غلطۍ زغم ته وده ورکوي، او ځینې وختونه به تاسو واورئ چې دوی تاسو ته اجازه درکوي "خپل کوډ پاک کړئ." راځئ چې تاریخ ته وګورو ترڅو د مایکرو خدماتو د رامینځته کیدو تر شا هدف پوه شي.

په لنډه توګه، زموږ په اوسني پوهه کې مایکرو خدمتونه په لاندې ډول راڅرګند شول: په 2011 کې، جیمز لیوس، د مختلفو شرکتونو کار تحلیل کړ، د نوي "مایکرو ایپ" بڼې رامینځته کولو ته یې پام ځانته راواړوه، کوم چې د SOA د ګمارلو ګړندۍ کولو له مخې SOA ته وده ورکړه. خدمتونه یو څه وروسته، په 2012 کې، د معمارۍ په غونډه کې، نمونه د مایکرو سرویس نوم بدله شوه. په دې توګه، د مایکرو خدماتو معرفي کولو لومړنی هدف د بدنامۍ ښه کول وو د بازار لپاره وخت.

کوچني خدمتونه په 2015 کې د هایپ څپې کې وو. د ځینو مطالعاتو له مخې، یو کنفرانس د مایکرو خدماتو په اړه د راپور پرته بشپړ نه و. سربیره پردې ، ځینې کنفرانسونه په ځانګړي ډول مایکرو خدماتو ته وقف شوي وو. نن ورځ ، ډیری پروژې د دې معمارۍ سټایل کارولو پیل کوي ، او که چیرې پروژه د ټن میراث کوډ ولري ، نو مایکرو خدماتو ته مهاجرت شاید په فعاله توګه ترسره شي.

د پورتنیو ټولو سره سره، یو کافي لږ شمیر پراختیا کونکي لاهم کولی شي د "مایکرو خدماتو" مفهوم تعریف کړي. مګر موږ به پدې اړه لږ وروسته خبرې وکړو ...

Monolith

د معمارۍ سټایل چې د مایکرو خدماتو سره توپیر لري مونولیت (یا ټول په یو کې) دی. دا شاید معنی ونلري چې ووایاست چې مونولیت څه شی دی ، نو زه به سمدلاسه د دې معماري سټایل نیمګړتیاوې لیست کړم ، کوم چې د معمارۍ سټایلونو نور پرمختګ پیل کړی: اندازه ، ارتباط ، ځای پرځای کول ، توزیع ، اعتبار او سختۍ. لاندې زه وړاندیز کوم چې هرې نیمګړتیاوې په جلا توګه وګورم.

اندازه

مونولیت خورا لوی دی. او دا معمولا د خورا لوی ډیټابیس سره اړیکه نیسي. غوښتنلیک د یو پراختیا کونکي لپاره خورا لوی کیږي چې پوه شي. یوازې هغه څوک چې په دې کوډ باندې کار کولو ډیر وخت تیر کړی کولی شي د مونولیت سره ښه کار وکړي ، پداسې حال کې چې پیل کونکي به د مونولیت په ګوته کولو کې ډیر وخت تیر کړي او هیڅ تضمین شتون نلري چې دوی به یې په ګوته کړي. معمولا ، کله چې د مونولیت سره کار کوي ، تل یو څه "مشروط" لوړ پوړی شتون لري چې مونولیت لږ یا لږ ښه پیژني او د یو نیم کال په اوږدو کې د نورو نوي پراختیا کونکو لاسونه وهي. په طبيعي توګه، دا ډول مشروط مشر د ناکامۍ یو واحد ټکی دی، او د هغه وتل کولی شي د monolith مرګ لامل شي.

نښلول

مونولیت د "خټو لوی بال" دی، په کوم کې چې بدلونونه د اټکل وړ پایلو لامل کیدی شي. په یو ځای کې د بدلونونو په کولو سره، تاسو کولی شئ په بل ځای کې مونولیت ته زیان ورسوي (هغه "تاسو خپل غوږ سکریچ کړی، *@ پرې شوی"). دا د دې حقیقت له امله دی چې په مونولیت کې اجزا خورا پیچلي او خورا مهم ، غیر څرګند اړیکې لري.

ځای پرځای کول

د monolith ځای پرځای کول، د هغې د اجزاوو ترمنځ د پیچلو اړیکو له امله، د خپل رسم سره یو اوږد بهیر دی. دا ډول رسم معمولا په بشپړ ډول معیاري نه وي او په "شفاعي" باندې تیریږي.

د توزیع وړتیا

د مونولیت ماډلونه ممکن د منابعو منازعې اړتیاوې ولري، چې د هارډویر په شرایطو کې جوړجاړي ته اړتیا لري. تصور وکړئ چې تاسو یو واحد لرئ چې د خدماتو A او B څخه جوړ دی. خدمت A د هارډ ډرایو په اندازې غوښتنه کوي، او خدمت B په رام کې غوښتنه کوي. پدې حالت کې، یا هغه ماشین چې مونولیت نصب شوی باید د دواړو خدماتو اړتیاو ملاتړ وکړي، یا تاسو باید په لاسي ډول، په مصنوعي توګه یو له خدماتو څخه غیر فعال کړئ.

بله بیلګه (ډیر کلاسیک): خدمت A د خدماتو B څخه ډیر مشهور دی، نو تاسو غواړئ چې 100 خدمتونه A وي، او 10 خدمتونه B وي. یو ځل بیا، دوه اختیارونه: یا موږ 100 بشپړ واحدونه ځای په ځای کوو، یا په ځینو کې. خدمات B باید په لاسي ډول غیر فعال شي.

باور

څرنګه چې ټول خدمات یوځای موقعیت لري، که مونولیت راټیټ شي، نو ټول خدمتونه په یوځل کې راټیټیږي. په حقیقت کې، دا ممکن دومره بد نه وي، لږترلږه به په ویشل شوي سیسټم کې هیڅ ډول ناکامي نه وي، مګر له بلې خوا، په فعالیت کې د بګ له امله چې د 0.001٪ کاروونکو لخوا کارول کیږي، تاسو کولی شئ ټول کاروونکي له لاسه ورکړئ. ستاسو د سیسټم څخه.

Inertia

د مونولیت د اندازې له امله، دا ستونزمنه ده چې نوي ټیکنالوژیو ته لاړ شي. د پایلې په توګه، د ورته لوړ پوړ ساتل یو جلا کار دی. د پروژې په پیل کې غوره شوي ټیکنالوژي سټیک کولی شي یو بلاک شي چې د محصول پرمختګ مخه نیسي.

پایلې

بل ځل به موږ د دې په اړه وغږیږو چې څنګه خلکو هڅه کړې چې دا ستونزې د اجزاوو او SOA ته په تګ سره حل کړي.

د معمارۍ سټایل غوره کول (1 برخه)

نور یی ولوله:

سرچینه: www.habr.com

Add a comment