यांडेक्स ने यूसरवर का स्रोत कोड जारी किया, जो सी++ में ऐप्स बनाने के लिए एक ढांचा है

यांडेक्स ने स्रोत कोड प्रकाशित किया है फ्रेम का उपयोगकर्ता दृश्य, जो आपको अत्यधिक लोड किए गए C++ एप्लिकेशन बनाने की अनुमति देता है जो एसिंक्रोनस मोड में काम करते हैं। फ़्रेम यांडेक्स स्तर के अपलोड पर परीक्षण किया गया है और इसका उपयोग यांडेक्स गो, लवका, डिलीवरी, मार्केट और फिनटेक परियोजनाओं जैसी सेवाओं में किया जाता है।

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

आज हम उच्च लोड अनुप्रयोगों के निर्माण के लिए ओपन सोर्स यूजर फ्रेमवर्क जारी करने की घोषणा कर रहे हैं। हमारे लिए, यह हमारे द्वारा संचित माइक्रोसर्विसेज को विकसित करने के अनुभव को साझा करने का एक महत्वपूर्ण तरीका है। यहाँ स्रोत कोड, दस्तावेज़ीकरण, नमूने, अपनी स्वयं की सेवाएँ बनाने के लिए एक टेम्पलेट (CI कॉन्फ़िगर, निर्माण और परीक्षण वातावरण के साथ), और एक गतिशील कॉन्फ़िगरेशन सेवा के साथ GitHub रिपॉजिटरी का लिंक दिया गया है। यह सब Apache 2.0 लाइसेंस के तहत जारी किया गया है।

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

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

रचना के संबंध में, यह उल्लेख किया गया है कि DBMS के साथ अतुल्यकालिक कार्य के लिए ड्राइवर शामिल हैं (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), क्लाइंट और सर्वर जो विभिन्न प्रोटोकॉल (HTTP, HTTPS, GRPC, TCP, UDP, TLS) के लिए एसिंक्रोनस रूप से काम करते हैं, सिंक्रोनाइज़ेशन और सिस्टम क्षमताओं तक पहुंच को प्रबंधित करने के लिए निम्न-स्तरीय प्राइमेटिव जेएसओएन/वाईएएमएल/बीएसओएन प्रारूपों में कैशिंग, कार्यों, वितरित ताले, ट्रेसिंग, मेट्रिक्स, सांख्यिकी और डेटा के साथ काम करने के लिए उच्च-स्तरीय घटक, साथ ही यह बिना रुके सेवा कॉन्फ़िगरेशन को बदलने का समर्थन करता है।

नुकसान के लिए के रूप में अखंड वास्तुकला में निम्नलिखित का उल्लेख किया गया है:

  • एक पत्थर का खंभा के भीतर सभी कोड का समेकन. एक बड़े कोड आधार के साथ, निर्माण और परीक्षण में घंटों लग सकते हैं, और परिनियोजन में पूरा दिन लग सकता है।
  • कोड के विभिन्न भागों का घनिष्ठ संपर्क. आपको कोड समीक्षाओं पर बहुत अधिक प्रयास करना होगा ताकि मोनोलिथ के विभिन्न भागों में इंटरफेस गड़बड़ न हो।
  • भंगुरता. एक मॉड्यूल में बदलाव दूसरे मॉड्यूल को तोड़ सकता है।
  • जिम्मेदारी के धुंधले क्षेत्र। विकास प्रक्रिया के दौरान, कोड के कई हिस्से सामान्यीकृत होते हैं, विभिन्न टीमों द्वारा उपयोग किए जाने लगते हैं, और यह अच्छा है। लेकिन परिणामस्वरूप, यह स्पष्ट नहीं है कि परिणामी मॉड्यूल के लिए कौन जिम्मेदार है: पहले लेखक; सबसे अधिक संपादन करने वाले; या वे जो कोड में मॉड्यूल का सबसे अधिक सक्रिय रूप से उपयोग करते हैं।

पहले, यांडेक्स ने अपनी अन्य प्रमुख तकनीकों को खुली परियोजनाओं के रूप में स्थानांतरित किया, उदाहरण के लिए, YDB वितरित डेटाबेस प्रबंधन प्रणाली, प्रति सेकंड लाखों अनुरोधों को संसाधित करने में सक्षम, साथ ही कैटबॉस्ट मशीन लर्निंग लाइब्रेरी, जिसे यांडेक्स खोज और अन्य में उपयोग करता है। सेवाएं।

अंत में इसके बारे में अधिक जानने के इच्छुक लोगों के लिएकृपया ध्यान दें कि उपयोगकर्ता वर्तमान में उबंटू, डेबियन, फेडोरा, आर्क, जेनेटू, मैकओएस सिस्टम, x86, x86_64, AArch64, आर्म आर्किटेक्चर, जीसीसी 8+ और क्लैंग 9+ कंपाइलर, सी ++ 17 मानकों, सी + +20, सी के लिए समर्थित है। ++23।

उपयोगकर्ता कोड C++ और . में लिखा गया है एस्टा एबिएर्तो अपाचे 2.0 लाइसेंस के तहत और से परामर्श किया जा सकता है निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।