धूमकेतु - फास्ट REST API के लिए PHP फ्रेमवर्क

दो साल के लिए मैंने स्वैगर-आधारित कोड जनरेटर का उपयोग करके गो पर माइक्रोसर्विसेज लिखा। यह काफी कॉम्पैक्ट और बहुत तेज समाधान निकला।

मैं वर्तमान में PHP का उपयोग कर रहा हूं, इसलिए मैंने भाषा पारिस्थितिकी तंत्र में समान समस्याओं को हल करने के लिए साधन खोजने का फैसला किया। मैं लारवेल और सिम्फनी को जानता हूं और प्यार करता हूं, लेकिन मैं उन्हें परियोजनाओं में नहीं खींचना चाहता हूं - बहुत सारी बैटरियां हैं जिनके लिए आपको प्रोजेक्ट और प्रदर्शन में प्रवेश करने के लिए एक कठिन वक्र का भुगतान करना होगा।
REST API बनाने के लिए PHP फ्रेमवर्क

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

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

पहला मामला "हेलो, वर्ल्ड!" रिटर्न की एक विधि के लिए हजारों प्रतिस्पर्धी wrk अनुरोधों के रूप में एक उच्च भार की नकल है, सादे पाठ में आपका स्वागत है:

छवि

न्यूनतम देरी का अनुमान लगाने के लिए, हमने उस विकल्प का उपयोग किया जिसमें एकल क्लाइंट क्रमिक रूप से एक ही अनुरोध करता है! समापन बिंदु:

छवि

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

आइए कोड पर एक नज़र डालते हैं कि यह जानने के लिए कि आप धूमकेतु पर वास्तविक विकास में क्या सामना करेंगे:

use Comet\Comet;

require_once __DIR__ . '/vendor/autoload.php';

$app = new Comet();

$app->get('/hello', function ($request, $response) {
    $response
        ->getBody()
        ->write("Hello, Comet!");      
    return $response;
});

$app->run();

सब कुछ बहुत पारदर्शी है: एक राउटर और क्लोजर का उपयोग करना एक कॉम्पैक्ट कोड प्रदान करता है, जो कि NodeJS / Express डेवलपर्स के समान है।

मैंने GitHub पर सभी कोड पोस्ट किए हैं और रूपरेखा की क्षमताओं का विस्तार करने की योजना बनाई है:

https://github.com/gotzmann/comet

मुझे टिप्पणियों, कमेंट्स और निश्चित रूप से खुशी होगी - वास्तविक परियोजनाओं में धूमकेतु का उपयोग :)

All Articles