यह विकल्प दो रूपरेखाओं पर पूर्ण निर्णय नहीं है। यह एक वास्तुशिल्प समझौता है, जिसे हमने कोड और सार्वजनिक रिकॉर्ड में जो सत्यापित किया है उसके साथ यहां प्रलेखित किया गया है - किसी बिना मापे प्रदर्शन के आंकड़े के साथ नहीं।
अनिवार्य है
Axum कुछ भी स्वामित्व का निर्माण नहीं करता है: यह अपने मिडलवेयर के लिए tower::Service पर, परिवहन के लिए हाइपर पर निर्भर करता है, और किसी भी unsafeकोड को प्रतिबंधित करता है। Actix-web अपने स्वयं के मिडलवेयर सिस्टम (लॉगर, सेशन, CORS), मूल HTTP/2 को एम्बेड करता है, और स्वयं गति के प्रमाण के रूप में TechEmpower फ्रेमवर्क बेंचमार्क का हवाला देता है। Crate.io पर, आज एक्सम के 436 मिलियन से अधिक डाउनलोड हैं, जबकि एक्टिक्स-वेब के लगभग 78 मिलियन डाउनलोड हैं - इसके नुकसान के लिए लगभग चार साल की उम्र का अंतर होने के बावजूद। ऑराबेस ने टावर संरचना के लिए एक्सम को चुना, जिसे ग्यारह वास्तविक Cargo.toml रिपॉजिटरी में सत्यापित किया गया, न कि किसी मापे गए प्रदर्शन आंकड़े के लिए नहीं।
दो ढाँचे, वही टोकियो आधार
एक्सम और एक्टिक्स-वेब दोनों टोकियो पर चलते हैं, जो रस्ट में संदर्भ अतुल्यकालिक रनटाइम है। एक्टिक्स-वेब रीडमी इसे स्पष्ट रूप से बताता है - "पूर्ण टोकियो संगतता" - और इसका आधिकारिक कोड उदाहरण ऐतिहासिक actix ढांचे से किसी भी अभिनेता का उपयोग नहीं करता है: एक क्लासिक async fn हैंडलर, एनोटेट #[get(...)], पर्याप्त है। भ्रम "एक्टिक्स-वेब को आवश्यक रूप से अभिनेताओं की आवश्यकता है" अब वर्तमान एपीआई से मेल नहीं खाता है।
एक्सम का जन्म टोक्यो की प्रत्यक्ष कक्षा में हुआ था: रिपॉजिटरी GitHub संगठन tokio-rsसे संबंधित है, और इसका आधिकारिक दस्तावेज स्पष्ट है - "एक्सम को टोकियो और हाइपर के साथ काम करने के लिए डिज़ाइन किया गया है। रनटाइम और ट्रांसपोर्ट लेयर स्वतंत्रता कोई लक्ष्य नहीं है, कम से कम फिलहाल के लिए। »
तो यह दो प्रतिस्पर्धी रनटाइम के बीच एक विकल्प नहीं है, बल्कि एक ही एसिंक इंजन के शीर्ष पर HTTP एपीआई बनाने के दो तरीकों के बीच है। यह तुलना चार सत्यापन योग्य क्षेत्रों को कवर करती है - मिडलवेयर मॉडल, घोषित मेमोरी सुरक्षा, मूल HTTP सतह, crates.io और GitHub पर मापा गया गोद लेना - फिर सहायक कोड के साथ बताता है कि ऑराबेस के रस्ट कोर ने Axum को क्यों चुना।
कंपोज़ेबल मिडलवेयर टॉवर बनाम इंटीग्रेटेड सिस्टम
एक्सम कोई मालिकाना मिडलवेयर सिस्टम नहीं बनाता है। यह पूरी तरह से tower::Serviceपर निर्भर करता है: टाइमआउट, ट्रेसिंग, संपीड़न, प्राधिकरण - सब कुछ टॉवर पारिस्थितिकी तंत्र के माध्यम से "मुफ्त में" आता है, इसके अपने README के अनुसार। हाइपर या टॉनिक एप्लिकेशन के लिए लिखे गए मिडलवेयर को अनुकूलन के बिना, एक्सम एप्लिकेशन की तरह पुन: उपयोग किया जा सकता है।
एक्टिक्स-वेब विपरीत रास्ता अपनाता है: यह अपने स्वयं के संबंधित HTTP क्लाइंट (awc) के साथ, अपने स्वयं के मिडलवेयर सिस्टम (लॉगर, सेशन, CORS, आदि) को एम्बेड करता है, जो इसके उपयोगकर्ता गाइड में प्रलेखित है। यह एक अधिक एकीकृत प्लेटफ़ॉर्म है - संयोजन के लिए कम हिस्से, लेकिन बाकी सामान्य रस्ट एसिंक पारिस्थितिकी तंत्र के साथ कम प्रत्यक्ष पुन: उपयोग भी।
रूटिंग उसी स्पष्ट रचना तर्क का अनुसरण करती है। एक्सम मार्गों की घोषणा के लिए "मैक्रो-मुक्त एपीआई" का दावा करता है - Router::new().route(...) एक सामान्य रस्ट मान रहता है - जहां एक्टिक्स-वेब HTTP विधि (#[get(...)]) द्वारा सीधे हैंडलर के ऊपर रखे गए समर्पित मैक्रोज़ पर निर्भर करता है। दो कथन शैलियाँ, क्षमता में अंतर नहीं।
एक्सम की कंपोजिबिलिटी की एक लागत है: आपको CORS, संपीड़न या क्वेरी आकार सीमा प्राप्त करने के लिए tower-http जोड़ना होगा, जहां एक्टिक्स-वेब उन्हें आंतरिक रूप से वितरित करता है। आउट-ऑफ-द-बॉक्स एकीकरण बनाम स्पष्ट रचना - एक वास्तविक व्यापार-बंद, एक तरफ कोई दोष नहीं।
शून्य को असुरक्षित घोषित किया गया, दो अलग-अलग एमएसआरवी
एक्सम अपने स्रोत कोड में #![forbid(unsafe_code)] का दावा करता है: 100% फ्रेमवर्क सुरक्षित रस्ट में लिखा गया है, जिसमें कोई खामी नहीं है। एक्टिक्स-वेब अपने रीडमी में कोई समकक्ष बयान नहीं देता है - इसका मतलब यह नहीं है कि ढांचा खतरनाक है, केवल यह कि परियोजना द्वारा ऐसी कोई गारंटी सार्वजनिक रूप से प्रदर्शित नहीं की गई है।
दोनों ढाँचे रस्ट का एक अलग न्यूनतम संस्करण निर्धारित करते हैं: एक्सम रस्ट 1.80 से संगत है, एक्टिक्स-वेब को रस्ट 1.88 की आवश्यकता है। एक्टिक्स-वेब के लिए एक संकरी विंडो, जो महत्वपूर्ण हो सकती है यदि आपकी टूलचेन पुराने संस्करण पर अटकी हुई है।
प्रत्येक व्यक्ति मूल रूप से क्या भेजता है
एक्टिक्स-वेब एक बड़ी HTTP सतह को सीधे अपने क्रेट में सूचीबद्ध करता है: HTTP/1.x और HTTP/2, WebSockets, पारदर्शी संपीड़न (br, gzip, deflate, zstd), OpenSSL या Rustls के माध्यम से TLS। सब कुछ एक साथ आता है, चुनने के लिए कोई अतिरिक्त निर्भरता नहीं है।
एक्सम जानबूझकर न्यूनतम रहता है: रूटिंग, एक्सट्रैक्टर्स, त्रुटि प्रबंधन - बाकी (संपीड़न, सीओआरएस, अनुरोध सीमा, ट्रेसिंग) tower-httpसे आता है, जो उसी पारिस्थितिकी तंत्र से एक साथी टोकरा है। उदाहरण के लिए, ऑराबेस, tower-http की केवल cors, trace, compression-gzip, request-id, timeout , और limit सुविधाओं को सक्षम करता है - एक जानबूझकर चयन, संपूर्ण पैकेज नहीं।
हम क्या जाँच सकते हैं, और क्या हम पुनः प्रकाशित नहीं करते हैं
एक्टिक्स-वेब एक सटीक बाहरी स्रोत का हवाला देते हुए अपनी गति का दावा करता है: "TechEmpower फ्रेमवर्क बेंचमार्क" (राउंड r21, समग्र) के अनुसार उपलब्ध सबसे तेज़ वेब फ्रेमवर्क में से एक, अपने स्वयं के README में techempower.com के सीधे लिंक के साथ। यह उस प्रकार का उद्धरण है जिसे आप स्वयं सत्यापित कर सकते हैं।
एक्सम कोई तुलनीय दावा नहीं करता है। इसका README एक अधिक विनम्र कथन तक सीमित है - "एक्सम हाइपर के शीर्ष पर एक अपेक्षाकृत पतली परत है और बहुत कम ओवरहेड जोड़ता है" - तीसरे पक्ष के समुदाय बेंचमार्क के दो लिंक के साथ, आधिकारिक परियोजना का आंकड़ा नहीं।
ऑराबेस वर्तमान में अपने स्वयं के उत्पादन भार पर एक्सम बनाम एक्टिक्स-वेब की कोई मात्रात्मक तुलना प्रकाशित नहीं करता है। जिस संख्या को हमने स्वयं नहीं मापा है, उसे कभी भी उत्पाद तर्क के रूप में यहां दोबारा प्रकाशित नहीं किया जाएगा - हमारी पुनरुत्पादित बेंचमार्क पद्धतिदेखें, जो एक खाली संख्या के बजाय एक सत्यापन योग्य विधि प्रकाशित करने के लिए सटीक रूप से बनाई गई है।
इस लेखन के समय crates.io और GitHub क्या कहते हैं
crates.ioपर, Axum के पास कुल मिलाकर 436,464,896 डाउनलोड हैं, जिनमें पिछले 90 दिनों में 109,000,226 शामिल हैं। एक्टिक्स-वेब कुल मिलाकर 78,074,020 डाउनलोड एकत्रित करता है, जिसमें उसी हाल की विंडो पर 9,730,975 भी शामिल है (crate.io, 23 अगस्त, 2026 को एक्सेस किया गया)। इस बिंदु पर, अंतर स्पष्ट है: एक्सम को आज एक्टिक्स-वेब की तुलना में लगभग 11 गुना अधिक हालिया डाउनलोड प्राप्त होते हैं।
विरोधाभास: एक्टिक्स-वेब दोनों में से सबसे पुराना है, जो एक्सम के लिए जुलाई 2021 की तुलना में अक्टूबर 2017 से crates.io पर प्रकाशित हुआ है। GitHub पर, लोकप्रियता का अंतर कम है - tokio-rs/axum के लिए 26,931 सितारे, जबकि actix/actix-web के लिए 24,793 सितारे (GitHub, 23 अगस्त, 2026 को एक्सेस किया गया) - और Actix-वेब अधिक रखता है कांटे (1,462 की तुलना में 1,880), एक ऐतिहासिक योगदानकर्ता आधार का संकेत जो अभी भी सक्रिय है।
एक्टिक्स-वेब अभी भी छोड़े जाने से बहुत दूर है: इसका संस्करण 4.15.0 इस लेख के लिखे जाने से तीन दिन पहले 21 अगस्त, 2026 को प्रकाशित हुआ था। GitHub समस्या कतार पर, एक्सम एक्टिक्स-वेब के लिए 192 की तुलना में 75 खुले टिकट प्रदर्शित करता है - सावधानी के साथ पढ़ा जाने वाला एक रखरखाव संकेत: लगभग चार साल लंबा इतिहास एक लंबी कतार को मशीनीकृत करता है, यह कम सावधान परियोजना का प्रमाण नहीं है।
Axum की README ने स्वयं चेतावनी दी है कि उसकी main शाखा महत्वपूर्ण बदलावों के साथ संस्करण 0.9 तैयार कर रही है - crates.io पर प्रकाशित स्थिर शाखा 0.8.xबनी हुई है। यदि आप आज से शुरुआत कर रहे हैं, तो रिपॉजिटरी की डिफ़ॉल्ट शाखा का अनुसरण करने के बजाय सटीक संस्करण को पिन करें।
क्यों एक्सम, कोड में सत्यापित
ऑराबेस रूट कार्गो कार्यक्षेत्र में ग्यारह सेवाएँ हैं। दस सीधे Axum पर निर्भर हैं - API गेटवे (aura-gateway) से लेकरदेशी AI इंजन (aura-ai) तक, जिसमें प्रमाणीकरण और भंडारण भी शामिल है। ग्यारहवां, aura-migrator, HTTP सर्वर के बिना एक माइग्रेशन सीएलआई उपकरण है: इसमें चुनने के लिए कुछ भी नहीं है। भंडार में कोई Cargo.toml नहीं है - न ही रूट Cargo.lock में कोई प्रविष्टि - actix-webघोषित करती है, यहां तक कि सकर्मक निर्भरता में भी; और किसी .rs फ़ाइल में use actix_web::निर्देश नहीं है।
यह विकल्प कॉस्मेटिक नहीं है: ऑराबेस गेटवे (aura-gateway) अपने मिडलवेयर को tower::ServiceBuilder और Layer टॉवर - TraceLayer, TimeoutLayer, RequestBodyLimitLayer के साथ जोड़ता है - अनुरोध पहचानकर्ता, प्रमाणीकरण और सुरक्षा हेडर के लिए axum::middleware::from_fn के माध्यम से इन-हाउस परतों द्वारा पूरक। यह बिल्कुल कंपोजीशन मॉडल है जिसे एक्सम का रीडमी हाइलाइट करता है: एक टॉवर मिडलवेयर को बाकी राउटर से स्वतंत्र रूप से स्टैक, परीक्षण और पुन: उपयोग किया जाता है।
यहां जो सत्यापित किया गया है वह पसंद की वास्तुकला है - वास्तविक निर्भरता, मध्यस्थों की वास्तविक संरचना। किसी परिमाणित प्रदर्शन लाभ का दावा नहीं किया गया है: हम जो पुनः प्रकाशित नहीं करते हैं उस पर पिछला अनुभाग देखें।
एक्सम और एक्टिक्स-वेब, साथ-साथ
| मिडलवेयर | संरचना टावर::सेवा, स्वामित्व कुछ भी नहीं | एकीकृत प्रणाली (लॉगर, सत्र, सीओआरएस) |
|---|---|---|
| स्मृति सुरक्षा | निषिद्ध(असुरक्षित_कोड) घोषित किया गया | कोई समकक्ष घोषणा नहीं |
| एमएसआरवी | जंग 1.80 | जंग 1.88 |
| लाइसेंस | एमआईटी | अपाचे-2.0 या एमआईटी |
| मूल HTTP | रूटिंग + एक्सट्रैक्टर्स; बाकी टावर-एचटीटीपी के माध्यम से | HTTP/1.x, HTTP/2, संपीड़न, एकीकृत टीएलएस |
| crates.io डाउनलोड (कुल) | 436 464 896 | 78 074 020 |
| डाउनलोड crates.io (90 दिन) | 109 000 226 | 9 730 975 |
| गिटहब सितारे | 26 931 | 24 793 |
| तब से crates.io पर | जुलाई 2021 | अक्टूबर 2017 |
| ऑराबेस द्वारा उपयोग किया जाता है | हाँ - 11 में से 10 जंग सेवाएँ | नहीं - कोई निर्भरता नहीं, प्रत्यक्ष या सकर्मक |
स्रोत: crates.io API (/api/v1/crates/axum, /api/v1/crates/actix-web) और GitHub API, 23 अगस्त, 2026 को एक्सेस किया गया। बाकी के लिए आधिकारिक READMEs tokio-rs/axum और actix/actix-web।
किसे क्या चुनना चाहिए
आप एक मॉड्यूलर, मल्टी-सर्विस रस्ट बैकएंड प्रारंभ करते हैं। एक्सम स्वाभाविक रूप से फिट है - इसकी टॉवर संरचना सेवाओं के बीच मिडलवेयर साझा करना आसान बनाती है, जैसा कि ऑराबेस अपनी दस HTTP सेवाओं के बीच करता है।
आपके पास एक मौजूदा और कार्यशील एक्टिक्स-वेब कोड आधार है। पलायन की कोई जल्दी नहीं है. एक्टिक्स-वेब सक्रिय रूप से बनाए रखा जाता है और अतिरिक्त निर्भरता के बिना, HTTP/2, WebSockets और संपीड़न को मूल रूप से कवर करता है।
आप tower-http को स्वयं असेंबल किए बिना, यथासंभव अधिक से अधिक HTTP कार्यक्षमता एक ही टोकरे में वितरित करना चाहते हैं। एक्टिक्स-वेब सीधे इस आवश्यकता पर प्रतिक्रिया करता है।
आप पहले से ही टावर मिडलवेयर को अन्य हाइपर या टॉनिक (जीआरपीसी) सेवाओं के साथ साझा करते हैं। एक्सम इन परतों का पुन: उपयोग करता है जैसे वे हैं - यही वह तर्क है जो ऑराबेस पर आधारित है।