← नवीनतम पेपर
💻 computer science

ModARO: A Modular Approach to Architecture Reconstruction of Distributed Microservice Codebases

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

मूल लेखक: Oscar Manglaras, Alex Farkas, Thomas Woolford, Christoph Treude, Markus Wagner

प्रकाशित 2026-02-10
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Oscar Manglaras, Alex Farkas, Thomas Woolford, Christoph Treude, Markus Wagner

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

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

यह शोध पत्र ModARO प्रस्तुत करता है, जो एक नया टूल है जिसे इमारतों को देखकर शहर के नक्शे को स्वचालित रूप से फिर से खींचने के लिए डिज़ाइन किया गया है। यह कैसे काम करता है, इसे सरल रूप में यहाँ समझाया गया है:

1. समस्या: "वन-साइज़-फिट्स-नट" (एक ही आकार सबके लिए नहीं) की दुविधा

कल्पना कीजिए कि आपके पास एक रोबोट है जो यह समझने के लिए ब्लूप्रिंट पढ़ सकता है कि एक घर कैसे बनाया गया है।

  • समस्या: माइक्रोसर्विस की दुनिया में, हर घर अलग होता है। एक लकड़ी (Java) से बना है, एक स्टील (Python) से, और एक कांच (Go) से। लकड़ी के ब्लूप्रिंट पढ़ने के लिए प्रोग्राम किया गया रोबोट स्टील वाले ब्लूप्रिंट पर विफल हो जाता है।
  • जटिलता: इसके अलावा, ये मोहल्ले अक्सर अलग-अलग शहरों (अलग-अलग कोड रिपॉजिटरी) में बिखरे होते हैं। आप एक ही रोबोट को पूरे शहर को एक साथ देखने के लिए नहीं भेज सकते; आपको प्रत्येक मोहल्ले में व्यक्तिगत रूप से एक रोबोट भेजना होगा और फिर उनकी रिपोर्टों को जोड़ने की कोशिश करनी होगी।

2. समाधान: ModARO (द मॉडुलर LEGO किट)

लेखकों ने ModARO बनाया है, जो नक्शा बनाने वाले रोबोट बनाने के लिए एक यूनिवर्सल LEGO किट की तरह है। एक विशिष्ट शहर के लिए एक विशाल, कठोर रोबोट बनाने के बजाय, आप छोटे, इंटरचेंजेबल एक्सट्रैक्टर्स (LEGO ईंटों) का निर्माण करते हैं।

  • एक्सट्रैक्टर्स (Extractors): ये छोटे, विशिष्ट स्क्रिप्ट हैं। एक स्क्रिप्ट जानती है कि "लकड़ी" के ब्लूप्रिंट (Java फाइलें) कैसे पढ़े जाते हैं, दूसरी "स्टील" (Python) को जानती है, और दूसरी जानती है कि "सिटी ज़ोनिंग लॉज़" (Docker कॉन्फ़िगरेशन फाइलें) को कैसे पढ़ा जाता है।
  • साझा भाषा (The Model): इन विभिन्न स्क्रिप्ट्स को एक-दूसरे से बात करने के लिए, वे अपनी खोजों को एक साझा नोटबुक (आर्किटेक्चर मॉडल) में लिखते हैं।
    • उपमा: कल्पना कीजिए कि "लकड़ी" वाला रोबोट एक दरवाजा पाता है और नोटबुक में लिखता है "लोकेशन X पर दरवाजा मिला"। "स्टील" वाले रोबोट को यह जानने की ज़रूरत नहीं है कि लकड़ी वाले रोबोट ने दरवाजा कैसे पाया; उसे बस नोटबुक पढ़नी है, देखना है कि "X पर दरवाजा है", और अपना नोट जोड़ना है: "दरवाजा लॉक है।"
    • क्योंकि वे सभी नोटबुक के प्रारूप (फॉर्मेट) पर सहमत हैं, इसलिए आप बाद में "लकड़ी" वाले रोबोट को "बांस" वाले रोबोट से बदल सकते हैं, और बाकी सिस्टम बिना टूटे काम करता रहेगा।

3. "डिस्ट्रीब्यूटेड" जादू

शोध पत्र एक अनूठी विशेषता पर प्रकाश डालता है: डिस्ट्रीब्यूटेड आर्किटेक्चर रिकंस्ट्रक्शन

  • पुराना तरीका: पूरे शहर का नक्शा बनाने के लिए, आपको हर मोहल्ले से हर एक ब्लूप्रिंट को एक विशाल कमरे में इकट्ठा करना पड़ता था, उन्हें छाँटना पड़ता था, और फिर नक्शा बनाना पड़ता था। यह धीमा है और मोहल्लों की "स्वतंत्र" प्रकृति को तोड़ता है।
  • ModARO का तरीका: आप मोहल्ला A में एक रोबोट भेजते हैं। वह अपने हिस्से का नक्शा बनाता है और उसे सहेजता है। आप मोहल्ला B में एक रोबोट भेजते हैं। वह अपने हिस्से का नक्शा बनाता है। बाद में, जब शहर को तैनात (deploy) करने के लिए तैयार हो जाता है, तो आप बस उन दो आंशिक नक्शों को मर्ज (merge) कर देते हैं।
  • "रिट्रोएक्टिव लिंक" (The Retroactive Link): कभी-कभी मोहल्ला A कहता है, "मैं मोहल्ला B से जुड़ता हूँ," लेकिन वह अभी तक B का पता नहीं जानता है। ModARO मोहल्ला A को एक "प्लेसहोल्डर नोट" (लिंक) लिखने की अनुमति देता है कि "उससे जुड़ें जिसके पास 'B' नाम है।" एक बार जब सभी नक्शे मर्ज हो जाते हैं, तो सिस्टम स्वचालित रूप से "B" को ढूंढ लेता है और बिंदुओं को जोड़ देता है।

4. क्या यह काम कर गया? (परीक्षण)

शोधकर्ताओं ने इस प्रणाली का परीक्षण दो तरीकों से किया:

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

  • परिणाम: यह काम कर गया! ModARO ने विभिन्न प्रकार की तकनीで作ियों से वास्तुशिल्प विवरण (जैसे कौन सी सेवाएँ आपस में बात करती हैं, वे कौन सी भाषाएँ उपयोग करती हैं, और डेटाबेस कहाँ हैं) सफलतापूर्वक निकाला।
  • सीमा: यह "मन पढ़ने वाली" जानकारी (जैसे कि कोई सेवा क्या करती है इसका उच्च-स्तरीय विवरण, यदि वह कोड में नहीं लिखा गया था) या ऐसी जानकारी को नहीं पढ़ सका जो जटिल, गतिशील कोड में छिपी थी जिसके लिए मानवीय अंतर्ज्ञान की आवश्यकता थी।

परीक्षण B: मानव परीक्षण (8 इंडस्ट्री डेवलपर्स)
उन्होंने 8 पेशेवर सॉफ्टवेयर डेवलपर्स से ModARO का उपयोग करने और इसकी तुलना ReSSA नामक मौजूदा टूल से करने के लिए कहा।

  • फैसला: डेवलपर्स ने ModARO को पसंद किया।
  • क्यों? उन्होंने पाया कि ModARO का उपयोग करना आसान था क्योंकि यह सामान्य कोड लिखने जैसा महसूस हुआ (जो वे जानते थे), जबकि दूसरा टूल एक भ्रमित करने वाली, एक-लाइन वाली पहेली जैसा लगा।
  • कमी: उन्हें अभी भी विशिष्ट कोड पैटर्न खोजने के लिए "रेगुलर एक्सप्रेशंस" (टेक्स्ट पैटर्न खोजने का एक तरीका) का उपयोग करना थोड़ा कठिन लगा। वे अधिक स्मार्ट टूल चाहते थे जो कोड संरचना को बेहतर ढंग से समझ सकें, लेकिन उन्हें ModARO की समग्र लचीलापन पसंद आया।

सारांश

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

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →