एन-टीयर वास्तुकला क्या है?


193

मैंने हाल ही में कुछ डेवलपर नौकरियों की पोस्टिंग देखी है जिसमें एक वाक्य शामिल है जो इस तरह से कम या ज्यादा पढ़ता है: "एन-टियर आर्किटेक्चर के साथ अनुभव होना चाहिए", या "एन-टियर ऐप्स को विकसित करने में सक्षम होना चाहिए"।

इससे मुझे पूछना पड़ता है कि एन-टीयर आर्किटेक्चर क्या है? इसके साथ एक अनुभव कैसे प्राप्त होता है?


2
दिलचस्प है कि यह अन्य पोस्ट यह भी पूछ रहा है कि एन-टीयर आर्किटेक्चर क्या है, लेकिन उत्तर पूरी तरह से अलग हैं। stackoverflow.com/questions/7271165/… । लगता है कि सॉफ्टवेयर के लिए एन-टीयर आर्किटेक्चर और हार्डवेयर के लिए एन-टीयर आर्किटेक्चर है।
नॉरमेक

जवाबों:


247

विकिपीडिया :

सॉफ्टवेयर इंजीनियरिंग में, मल्टी-टियर आर्किटेक्चर (जिसे अक्सर n-टियर आर्किटेक्चर के रूप में जाना जाता है) एक क्लाइंट-सर्वर आर्किटेक्चर है, जिसमें, प्रेजेंटेशन, एप्लिकेशन प्रोसेसिंग और डेटा मैनेजमेंट तार्किक रूप से अलग-अलग प्रक्रियाएं हैं। उदाहरण के लिए, एक एप्लिकेशन जो उपयोगकर्ता और डेटाबेस के बीच सेवा डेटा अनुरोधों के लिए मिडलवेयर का उपयोग करता है, मल्टी-टियर आर्किटेक्चर को नियोजित करता है। "मल्टी-टियर आर्किटेक्चर" का सबसे व्यापक उपयोग त्रि-स्तरीय वास्तुकला को संदर्भित करता है।

यह उल्लेखनीय है कि "टियर" के रूप में क्या मायने रखता है, लेकिन मेरी राय में इसे कम से कम प्रक्रिया की सीमा को पार करने की आवश्यकता है। वरना इसे लेयर्स कहा जाता है। लेकिन, शारीरिक रूप से अलग-अलग मशीनों में होने की जरूरत नहीं है। हालाँकि मैं इसकी अनुशंसा नहीं करता, लेकिन आप एक ही बॉक्स पर लॉजिकल टियर और डेटाबेस होस्ट कर सकते हैं

वैकल्पिक शब्द

संपादित करें : एक निहितार्थ यह है कि प्रेजेंटेशन टियर और लॉजिक टियर (कभी-कभी बिज़नेस लॉजिक लेयर कहा जाता है) को "तार पर" कभी-कभी अविश्वसनीय, धीमे और / या असुरक्षित नेटवर्क पर मशीन की सीमाओं को पार करने की आवश्यकता होती है। यह साधारण डेस्कटॉप एप्लिकेशन से बहुत अलग है जहां डेटा उसी मशीन पर रहता है जैसे फाइलें या वेब एप्लिकेशन जहां आप डेटाबेस को सीधे हिट कर सकते हैं।

एन-टियर प्रोग्रामिंग के लिए, आपको डेटा को किसी प्रकार के परिवहन योग्य रूप में पैकेज करने की आवश्यकता होती है जिसे "डेटासेट" कहा जाता है और उन्हें तार के ऊपर से उड़ाना चाहिए। .NET के डेटासेट वर्ग या SOAP जैसे वेब सेवा प्रोटोकॉल तार पर वस्तुओं को उड़ाने के ऐसे कुछ प्रयास हैं।


6
"3-टियर्स" और "एन-टियर्स" क्या कोई अंतर है?
चक्रित

7
यह इस बात पर निर्भर करता है कि आप "टियर" (तार्किक, भौतिक आदि) की गणना कैसे करते हैं, लेकिन आपके पास ऐप लिखने के लिए 3 से अधिक प्रक्रियाएं आसानी से हो सकती हैं। UI, UI प्लेटफ़ॉर्म (जैसे ग्रहण RCP), वेब सेवाएँ, BLL, DAL, डेटाबेस, प्रमाणीकरण सेवाएँ, रिपोर्टिंग सेवाएँ, विश्लेषणात्मक सेवाएँ ...
Eugene Yokota

6
@chakrit: मेरे समय में (मैं पुराना हूँ) अधिक 2-स्तरीय (क्लाइंट-सर्वर) स्वचालित रूप से n-tier का उल्लेख कर रहा था।
एडुआर्डो मोल्टनी

@EugeneYokota - यह कहा जाता है कि स्तरों को वास्तुकला में भौतिक वर्गों का प्रतिनिधित्व करना है (जो आगे क्लस्टर में पेटेंट नहीं हो सकता है या नहीं हो सकता है), और परतें आवेदन घटकों के तार्किक समूहन को संदर्भित करेंगी ।
एलिरन मलका

मुझे कुछ ऐसा बताया गया है जो बहुत समान दिखता है लेकिन टीयर की प्रस्तुति टियर - सर्विस टियर - इंटीग्रेशन / डेटा टीयर है। क्या आप जानते हैं कि ये एक ही चीज़ के लिए अलग-अलग शब्द हैं जैसे कि ऊपर दिखाए गए आर्किटेक्चर या कुछ अलग हैं? जहां तक ​​मेरी जानकारी है, वे एक ही हैं, लेकिन मैं यह सुनिश्चित करना चाहता हूं।
KayleighArianna

20

यह इस बात पर आधारित है कि आप प्रस्तुति परत को मुख्य व्यवसाय तर्क और डेटा एक्सेस ( विकिपीडिया ) से कैसे अलग करते हैं

  • 3-स्तरीय का अर्थ है प्रस्तुति परत + घटक परत + डेटा एक्सेस परत।
  • एन-टियर तब होता है जब अतिरिक्त लेयर को इनसे जोड़ा जाता है, आमतौर पर अतिरिक्त मोड्युलैरिटी, कॉन्फ़िगरेशन या अन्य सिस्टम के साथ इंटरऑपरेबिलिटी के लिए।

12
वास्तव में अगर उन स्तरों में से एक को एक दूरस्थ पार्टी द्वारा होस्ट किया जाता है, उदाहरण के लिए एक भुगतान प्रोसेसर, तो टियर इतना "अनावश्यक" नहीं हो सकता है
ज़क

1
हम्म। 'परतों' और 'सेवाओं' के बीच बहुत बड़ा अंतर है। एन-टीयर का उपयोग आमतौर पर यह इंगित करने के लिए किया जाता है कि दिए गए टियर के लिए, इसके ऊपर की किसी भी चीज को निचले स्तर की सेवाओं तक पहुंचने के लिए इससे गुजरना होगा। यदि वे समानांतर हैं, तो मैं उन्हें स्तरीय के बजाय सेवाओं को कॉल करूंगा।
डाक

जब सामान्य MCV (3-स्तरीय आर्किटेक्चर) का निर्माण किया जाता है, तो MCV को डबल-डेक इंटरफेस के साथ लागू करने का निर्णय लिया जा सकता है, जैसे कि कोड की एक पंक्ति को संशोधित किए बिना वास्तव में एक विशेष स्तर को प्रतिस्थापित कर सकता है। हम अक्सर इसके लाभों को देखते हैं, उदाहरण के लिए परिदृश्य में जहां आप एक से अधिक डेटाबेस का उपयोग करने में सक्षम होना चाहते हैं (जिस स्थिति में आपके पास नियंत्रण और डेटा-परतों के बीच एक डबल-इंटरफ़ेस है)। जब आप इसे व्यू-लेयर (प्रेजेंटेशन) पर रखते हैं, तो आप USER इंटरफेस को दूसरी मशीन से बदल सकते हैं, जिससे REAL इनपुट (!!!)
David Svarrer

15

यह एक चर्चा है जो सामान्य वेब आर्किटेक्चर जैसी चीजों को संदर्भित करता है जैसे, जावास्क्रिप्ट - ASP.Net - मिडलवेयर - डेटाबेस लेयर। इनमें से प्रत्येक चीज़ एक "स्तरीय" है।


4

एन-टियर डेटा एप्लिकेशन डेटा अनुप्रयोग हैं जो कई स्तरों में विभाजित होते हैं। इसे "वितरित एप्लिकेशन" और "मल्टीटियर एप्लिकेशन" भी कहा जाता है, एन-टियर एप्लिकेशन ग्राहक और सर्वर के बीच वितरित किए जाने वाले असतत स्तरों में अलग-अलग प्रसंस्करण करते हैं। जब आप डेटा एक्सेस करने वाले एप्लिकेशन विकसित करते हैं, तो आपको एप्लिकेशन बनाने वाले विभिन्न स्तरों के बीच एक स्पष्ट अलगाव होना चाहिए।

एक विशिष्ट एन-टीयर एप्लिकेशन में एक प्रस्तुति स्तरीय, एक मध्य स्तरीय और एक डेटा स्तरीय शामिल है। एन-टियर एप्लिकेशन में विभिन्न स्तरों को अलग करने का सबसे आसान तरीका है कि आप प्रत्येक टियर के लिए असतत प्रोजेक्ट बनाएं, जिसे आप अपने एप्लिकेशन में शामिल करना चाहते हैं। उदाहरण के लिए, प्रेजेंटेशन टियर एक विंडोज फॉर्म एप्लिकेशन हो सकता है, जबकि डेटा एक्सेस लॉजिक मध्य स्तरीय में स्थित एक क्लास लाइब्रेरी हो सकती है। इसके अतिरिक्त, प्रस्तुति परत सेवा के माध्यम से मध्य स्तरीय में डेटा एक्सेस लॉजिक के साथ संचार कर सकती है जैसे कि सेवा। अलग-अलग स्तरों में अनुप्रयोग घटकों को अलग करने से आवेदन की स्थिरता और मापनीयता बढ़ जाती है। यह नई तकनीकों को आसानी से अपनाने में सक्षम करता है जो पूरे समाधान को फिर से डिज़ाइन करने की आवश्यकता के बिना एक स्तरीय पर लागू किया जा सकता है। के अतिरिक्त,

Microsoft वेबसाइट से लिया गया ।


4

यदि मैं प्रश्न को समझता हूं, तो मुझे ऐसा लगता है कि प्रश्नकर्ता वास्तव में पूछ रहा है "ठीक है, इसलिए 3-स्तरीय अच्छी तरह से समझा जाता है, लेकिन ऐसा लगता है कि 4-स्तरीय, या आसपास के बारे में प्रचार, भ्रम और अनिश्चितता का मिश्रण है, या सामान्यीकरण, एन-टियर आर्किटेक्चर का मतलब है। तो ... एन-टियर की एक परिभाषा क्या है जो व्यापक रूप से समझी जाती है और उस पर सहमति व्यक्त की जाती है? "

यह वास्तव में एक काफी गहरा सवाल है, और यह समझाने के लिए कि, मुझे थोड़ा गहराई में जाने की आवश्यकता है। धैर्य रखने के लिए अनुरोध।

क्लासिक 3-स्तरीय वास्तुकला: डेटाबेस, "व्यापार तर्क" और प्रस्तुति, यह स्पष्ट करने का एक अच्छा तरीका है कि चिंताओं के पृथक्करण के सिद्धांत का सम्मान कैसे किया जाए। जो कहना है, अगर मैं बदलना चाहता हूं कि "व्यवसाय" ग्राहकों को कैसे सेवा देना चाहता है, तो मुझे यह पता लगाने के लिए पूरे सिस्टम के माध्यम से नहीं देखना चाहिए कि यह कैसे करना है, और विशेष रूप से, निर्णय व्यापार के मुद्दों को बिखरा नहीं होना चाहिए कोड के माध्यम से विली-नीली।

अब, इस मॉडल ने दशकों तक अच्छा काम किया, और यह क्लासिक 'क्लाइंट-सर्वर' मॉडल है। क्लाउड प्रसाद के लिए तेजी से आगे बढ़ें, जहां वेब ब्राउज़र उपयोगकर्ताओं के व्यापक और भौतिक रूप से वितरित सेट के लिए उपयोगकर्ता इंटरफ़ेस हैं, और एक आम तौर पर सामग्री वितरण सेवाओं को जोड़ने के लिए समाप्त होता है, जो क्लासिक 3-स्तरीय वास्तुकला का हिस्सा नहीं हैं (और जिसे अपने आप में प्रबंधित करने की आवश्यकता है)।

जब यह सेवाओं, माइक्रो-सेवाओं, डेटा और कम्प्यूटेशन को कैसे वितरित किया जाता है, आदि की बात आती है तो यह अवधारणा सामान्य हो जाती है। कोई चीज ier टियर ’है या नहीं यह काफी हद तक इस बात पर निर्भर करता है कि टियर टियर के पीछे (या नीचे) सेवाओं को एक इंटरफ़ेस और परिनियोजन मॉडल प्रदान करता है या नहीं। इसलिए सामग्री वितरण नेटवर्क एक स्तरीय होगा, लेकिन एक प्रमाणीकरण सेवा नहीं होगी।

अब, इस अवधारणा को ध्यान में रखते हुए एन-टियर आर्किटेक्चर के उदाहरणों के अन्य विवरणों को पढ़ें, और आप इस मुद्दे को समझना शुरू करेंगे। अन्य दृष्टिकोणों में विक्रेता-आधारित दृष्टिकोण (जैसे एनजीआईएनएक्स), सामग्री-जागरूक लोड बैलेंसर्स, डेटा अलगाव और सुरक्षा सेवाएं (जैसे आईबीएम डाटापॉवर) शामिल हैं, जो सभी किसी दिए गए आर्किटेक्चर, परिनियोजन और उपयोग मामलों में मूल्य नहीं जोड़ सकते हैं


3

यह मेरी समझ है कि एन-टीयर अलग-अलग भौतिक मशीनों का उपयोग करके व्यावसायिक तर्क, क्लाइंट एक्सेस और डेटा को एक-दूसरे से अलग करता है। सिद्धांत यह है कि उनमें से एक को दूसरों के स्वतंत्र रूप से अपडेट किया जा सकता है।


3

एन-टियर डेटा एप्लिकेशन डेटा अनुप्रयोग हैं जो कई स्तरों में विभाजित होते हैं। इसे "वितरित एप्लिकेशन" और "मल्टीटियर एप्लिकेशन" भी कहा जाता है, एन-टियर एप्लिकेशन ग्राहक और सर्वर के बीच वितरित किए जाने वाले असतत स्तरों में अलग-अलग प्रसंस्करण करते हैं। जब आप डेटा एक्सेस करने वाले एप्लिकेशन विकसित करते हैं, तो आपको एप्लिकेशन बनाने वाले विभिन्न स्तरों के बीच एक स्पष्ट अलगाव होना चाहिए।

और इस तरह http://msdn.microsoft.com/en-us/library/bb384398.aspx पर


3

सामान्य MCV (3-स्तरीय आर्किटेक्चर) का निर्माण करते समय , MCV को डबल-डेक इंटरफेस के साथ लागू करने का निर्णय लिया जा सकता है, जैसे कि कोड की एक पंक्ति को संशोधित किए बिना वास्तव में एक विशेष स्तर को प्रतिस्थापित कर सकता है।

हम अक्सर इसके लाभों को देखते हैं , उदाहरण के लिए, जहां आप एक से अधिक डेटाबेस का उपयोग करने में सक्षम होना चाहते हैं (जिस स्थिति में आपके पास नियंत्रण और डेटा-परतों के बीच दोहरा इंटरफ़ेस है)।

जब आप इसे व्यू-लेयर (प्रेजेंटेशन) पर रखते हैं, तो आप USER इंटरफेस को दूसरी मशीन से बदल सकते हैं, जिससे REAL इनपुट (!!!) को स्वचालित किया जा सकता है और जिससे आप थकाऊ प्रयोज्य परीक्षण चला सकते हैं !!! किसी भी उपयोगकर्ता के बिना बार-बार टैप करने और पुनः टैप करने और फिर से समान चीज़ों को फिर से टैप करने के लिए।

कुछ ऐसे 3-स्तरीय वास्तुकला का वर्णन 1 या 2 डबल-इंटरफेस के साथ 4-स्तरीय या 5-स्तरीय आर्किटेक्चर के रूप में करते हैं, जिसका सीधा अर्थ है डबल-इंटरफेस।

अन्य मामलों में शामिल हैं (लेकिन यह सीमित नहीं है) इस तथ्य को कि आप - अर्ध-या पूरी तरह से प्रतिकृति डेटाबेस-सिस्टम के मामले में व्यावहारिक रूप से डेटाबेस में से एक को "मास्टर" के रूप में विचार करने में सक्षम होंगे, और इस तरह आपके पास एक स्तरीय होगा मास्टर के शामिल और दास डेटाबेस के एक और शामिल है।

मोबाइल उदाहरण

इसलिए, मल्टी-टीयर - या एन-टियर - वास्तव में कुछ व्याख्याएं हैं, जबकि मैं निश्चित रूप से 3-टियर + अतिरिक्त टियर के साथ चिपके रहूंगा जिसमें पतली इंटरफ़ेस-डिस्क शामिल हैं जो बीच में टियर-स्वैप करने में सक्षम हैं, और शर्तों के संदर्भ में परीक्षण (विशेष रूप से मोबाइल उपकरणों पर उपयोग किया जाता है), अब आप वास्तविक सॉफ़्टवेयर पर उपयोगकर्ता परीक्षण चला सकते हैं, उपयोगकर्ताओं को उन तरीकों से टैप करके , जिन्हें नियंत्रण तर्क वास्तविक उपयोगकर्ता टैपिंग से अलग नहीं कर सकता है। वास्तविक उपयोगकर्ता परीक्षणों का अनुकरण करने में यह लगभग सर्वोपरि है , जिसमें आप उपयोगकर्ताओं को ओटीए से सभी इनपुट रिकॉर्ड कर सकते हैं, और फिर प्रतिगमन परीक्षण करते समय उसी इनपुट का फिर से उपयोग कर सकते हैं।


2

जब हम Tiers की बात करते हैं, तो हम आम तौर पर Physical Processes (अलग मेमोरी स्पेस वाले) की बात करते हैं।

इस प्रकार, यदि किसी एप्लिकेशन के लेयर्स को विभिन्न प्रक्रियाओं में तैनात किया जाता है, तो वे अलग-अलग प्रक्रियाएं अलग-अलग हो जाएंगी।

उदाहरण के लिए, 3-स्तरीय एप्लिकेशन में, बिजनेस टियर मेनफ्रेम (अलग प्रक्रिया) से बात करता है और रिपोर्टिंग सेवा (अलग प्रक्रिया) से बात करता है, तो वह आवेदन 5 स्तरीय होगा।

इसलिए, सामान्य नाम n-tier है।


2

से https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/n-tier

एन-टियर आर्किटेक्चर मुख्य रूप से एक एप्लिकेशन टायर को लॉजिकल टायर और फिजिकल टायर में बांटता है और इन्हें उप भागों में बांटता है। यहां छवि विवरण दर्ज करें

परतें जिम्मेदारियों को अलग करने और निर्भरता को प्रबंधित करने का एक तरीका है। प्रत्येक परत की एक विशिष्ट जिम्मेदारी है। एक उच्च परत एक निचली परत में सेवाओं का उपयोग कर सकती है, लेकिन दूसरे तरीके से नहीं।

टियर शारीरिक रूप से अलग हो जाते हैं, अलग मशीनों पर चल रहे हैं। एक टियर दूसरे टियर को सीधे कॉल कर सकता है, या एसिंक्रोनस मैसेजिंग (संदेश कतार) का उपयोग कर सकता है। यद्यपि प्रत्येक परत को अपने स्वयं के स्तर पर होस्ट किया जा सकता है, लेकिन इसकी आवश्यकता नहीं है। एक ही स्तर पर कई परतों की मेजबानी की जा सकती है। शारीरिक रूप से टीयर को अलग करने से स्केलेबिलिटी और रिबिलिबिलिटी में सुधार होता है, लेकिन अतिरिक्त नेटवर्क संचार से विलंबता भी जुड़ती है।

एक पारंपरिक त्रि-स्तरीय एप्लिकेशन में एक प्रस्तुति स्तरीय, एक मध्य स्तरीय और एक डेटाबेस स्तरीय है। मध्य स्तरीय वैकल्पिक है। अधिक जटिल अनुप्रयोगों में तीन से अधिक स्तर हो सकते हैं। ऊपर दिए गए आरेख में दो मध्य स्तरों के साथ एक एप्लिकेशन दिखाया गया है, जो कार्यक्षमता के विभिन्न क्षेत्रों को इनकैप्सुलेट करता है।

एन-टियर एप्लिकेशन में एक बंद परत वास्तुकला या एक खुली परत वास्तुकला हो सकती है:

In a closed layer architecture, a layer can only call the next layer immediately down.
In an open layer architecture, a layer can call any of the layers below it.

एक बंद परत वास्तुकला परतों के बीच निर्भरता को सीमित करती है। हालाँकि, यह अनावश्यक नेटवर्क ट्रैफ़िक बना सकता है, अगर एक परत बस अगली परत के साथ अनुरोधों को पारित करती है।


1

एन-टियर एप्लिकेशन एक ऐसा अनुप्रयोग है जिसमें तीन से अधिक घटक शामिल होते हैं। वे घटक कौन से हैं?

  • कैश
  • अतुल्यकालिक व्यवहार के लिए संदेश कतारें
  • बैलेंसर्स लोड करें
  • बड़े पैमाने पर डेटा के माध्यम से खोज करने के लिए सर्वर खोजें
  • डेटा की भारी मात्रा में प्रसंस्करण में शामिल घटक
  • विषम तकनीक चलाने वाले घटक जिन्हें आमतौर पर वेब सेवाओं आदि के रूप में जाना जाता है।

सभी सामाजिक अनुप्रयोग जैसे इंस्टाग्राम, फेसबुक, बड़े पैमाने पर उद्योग सेवाएं जैसे उबर, एयरबीएनबी, ऑनलाइन बड़े पैमाने पर मल्टीप्लेयर गेम जैसे पोकेमॉन गो, फैंसी फीचर वाले एप्लिकेशन एन-टियर एप्लिकेशन हैं।


0

मार्टिन फाउलर स्पष्ट रूप से प्रदर्शित करते हुए:

लेयरिंग सबसे आम तकनीकों में से एक है जो सॉफ्टवेयर डिजाइनर एक जटिल सॉफ्टवेयर सिस्टम को तोड़ने के लिए उपयोग करते हैं। आप इसे मशीन आर्किटेक्चर में देखते हैं, जहां लेयर प्रोग्रामिंग भाषा से ऑपरेटिंग सिस्टम कॉल के साथ डिवाइस ड्राइवर्स और सीपीयू इंस्ट्रक्शन सेट में और चिप्स के अंदर लॉजिक गेट्स से उतरते हैं। नेटवर्किंग में टीसीपी के ऊपर एफ़टीपी स्तरित है, जो आईपी के शीर्ष पर है, जो ईथरनेट के शीर्ष पर है।

परतों के संदर्भ में एक प्रणाली के बारे में सोचते समय, आप कल्पना करते हैं कि लेयर केक के किसी न किसी रूप में व्यवस्थित सॉफ्टवेयर में प्रिंसिपल सबसिस्टम हैं, जहां प्रत्येक परत एक निचली परत पर टिकी हुई है। इस योजना में उच्च परत निचली परत द्वारा परिभाषित विभिन्न सेवाओं का उपयोग करती है, लेकिन निचली परत उच्च परत से अनजान होती है। इसके अलावा, प्रत्येक परत आमतौर पर ऊपर की परतों से अपनी निचली परतों को छिपाती है, इसलिए परत 4 परत 3 की सेवाओं का उपयोग करती है, जो परत 2 की सेवाओं का उपयोग करती है, लेकिन परत 4 परत से अनजान है। (सभी लेयरिंग आर्किटेक्चर इस तरह अपारदर्शी हैं। , लेकिन ज्यादातर हैं - या बल्कि सबसे अधिक अपारदर्शी हैं।)

एक सिस्टम को परतों में तोड़ने से कई महत्वपूर्ण लाभ होते हैं।

• आप एक परत को अन्य परतों के बारे में ज्यादा जाने बिना एक सुसंगत पूरे के रूप में समझ सकते हैं। आप समझ सकते हैं कि ईथरनेट कैसे काम करता है, इसका विवरण जाने बिना टीसीपी के शीर्ष पर एक एफ़टीपी सेवा का निर्माण कैसे किया जाता है।

• आप एक ही मूल सेवाओं के वैकल्पिक कार्यान्वयन के साथ परतों को स्थानापन्न कर सकते हैं। एक एफ़टीपी सेवा ईथरनेट, पीपीपी या जो भी एक केबल कंपनी द्वारा उपयोग की जाती है, पर परिवर्तन के बिना चल सकती है।

• आप परतों के बीच निर्भरता को कम करते हैं। यदि केबल कंपनी अपने भौतिक संचरण प्रणाली को बदलती है, तो वे आईपी काम करते हैं, हमें अपनी एफ़टीपी सेवा को बदलना नहीं है।

• परतें मानकीकरण के लिए अच्छी जगहें बनाती हैं। टीसीपी और आईपी मानक हैं क्योंकि वे परिभाषित करते हैं कि उनकी परतों को कैसे काम करना चाहिए।

• एक बार आपके पास एक लेयर बन जाने के बाद, आप इसे कई उच्च-स्तरीय सेवाओं के लिए उपयोग कर सकते हैं। इस प्रकार, टीसीपी / आईपी का उपयोग एफ़टीपी, टेलनेट, एसएसएच और एचटीटीपी द्वारा किया जाता है। अन्यथा, इन सभी उच्च-स्तरीय प्रोटोकॉल को अपने स्वयं के निचले-स्तर के प्रोटोकॉल लिखना होगा। काइल जियोफ्रे पासरेले की लाइब्रेरी से

लेयरिंग एक महत्वपूर्ण तकनीक है, लेकिन डाउनसाइड्स हैं।

• परतें कुछ को एनकैप्सुलेट करती हैं, लेकिन सभी को नहीं, चीजों को अच्छी तरह से। नतीजतन आपको कभी-कभी कैस्केडिंग परिवर्तन मिलते हैं। एक स्तरित एंटरप्राइज़ एप्लिकेशन में इसका क्लासिक उदाहरण एक फ़ील्ड को जोड़ना है जो UI पर प्रदर्शित करने की आवश्यकता है, डेटाबेस में होना चाहिए, और इस प्रकार बीच में हर परत में जोड़ा जाना चाहिए।

• अतिरिक्त परतें प्रदर्शन को नुकसान पहुंचा सकती हैं। हर परत पर चीजों को आम तौर पर एक प्रतिनिधित्व से दूसरे में बदलने की आवश्यकता होती है। हालांकि, एक अंतर्निहित फ़ंक्शन का एनकैप्सुलेशन अक्सर आपको दक्षता लाभ देता है जो क्षतिपूर्ति से अधिक होता है। एक परत जो लेनदेन को नियंत्रित करती है उसे अनुकूलित किया जा सकता है और फिर सब कुछ तेज कर देगा। लेकिन एक स्तरित वास्तुकला का सबसे कठिन हिस्सा यह तय कर रहा है कि क्या परतें हैं और प्रत्येक परत की जिम्मेदारी क्या होनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.