Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Redis

सर्वर रहित रेडिस के साथ लारवेल को स्केल करना

परिचय

लारावेल स्केलेबल, उच्च-प्रदर्शन वेब अनुप्रयोगों के निर्माण के लिए एक लोकप्रिय PHP ढांचा है।

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

आवश्यकताएँ

आरंभ करने से पहले, आपको निम्नलिखित की आवश्यकता होगी:

  • अपस्टैश खाता:यदि आपके पास खाता नहीं है, तो आप निःशुल्क साइन अप कर सकते हैं, किसी क्रेडिट कार्ड की आवश्यकता नहीं है।
  • यदि आपके पास Laravel इंस्टॉल नहीं है, तो आप इसे कैसे करें, इसके लिए यहां दिए गए चरणों का पालन कर सकते हैं:1-क्लिक के साथ Laravel इंस्टॉल करें

वास्तुकला अवलोकन

लैरावेल को एक सर्वर पर चलाने के बजाय, आइए निम्नलिखित परिदृश्य पर विचार करें:

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

आरेख:

सर्वर रहित रेडिस के साथ लारवेल को स्केल करना

सर्वर रहित रेडिस क्या है?

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

इस तरह आपको अपने सर्वरों को अधिक प्रावधान करने की आवश्यकता नहीं है, और आप आवश्यकतानुसार अपने आवेदन को बढ़ा सकते हैं।

सर्वर रहित Redis क्यों?

डिफ़ॉल्ट रूप से, Laravel उपयोगकर्ता सत्रों को वेब सर्वर की डिस्क पर फ़ाइलों में संग्रहीत करेगा। इस तरह यदि लोड बैलेंसर उपयोगकर्ता के अनुरोध को किसी भिन्न सर्वर पर अग्रेषित करता है, तो उपयोगकर्ता सत्र खो जाएगा।

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

बेशक, आप अपने डेटाबेस का उपयोग उपयोगकर्ता सत्र और कैश डेटा को संग्रहीत करने के लिए भी कर सकते हैं, लेकिन बेहतर प्रदर्शन के लिए, बेहतर प्रदर्शन के लिए Redis का उपयोग करने की अनुशंसा की जाती है। यदि आप विभिन्न विकल्पों के प्रदर्शन लाभों के बारे में अधिक जानना चाहते हैं, तो इस बेहतरीन लेख को यहां देखें:प्रदर्शन के लिए सबसे अच्छा लारवेल कैश ड्राइवर कौन सा है?.

क्षैतिज स्केलिंग बनाम लंबवत स्केलिंग

क्षैतिज और लंबवत स्केलिंग के बीच अंतर के बारे में बस कुछ शब्द:

  • जब आपके पास एक ही सर्वर होता है, तो आप इसमें और संसाधन जोड़कर इसे लंबवत रूप से माप सकते हैं। उदाहरण के लिए, आप स्केल-अप . में अधिक CPU कोर, RAM या डिस्क स्थान जोड़ सकते हैं ।
  • दूसरी ओर क्षैतिज स्केलिंग, जब आप अधिक सर्वर जोड़ते हैं जो स्केल-आउट के अनुरोधों को प्रस्तुत करने के लिए जिम्मेदार होते हैं ।

क्षैतिज स्केलिंग बनाम लंबवत स्केलिंग का एक सरल उदाहरण यहां दिया गया है:

सर्वर रहित रेडिस के साथ लारवेल को स्केल करना

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

सर्वर रहित Redis क्लस्टर बनाना

Upstash के साथ, आप इन चरणों का पालन करके 30 सेकंड में सर्वर रहित Redis क्लस्टर बना सकते हैं:

  • अपने अपस्टैश खाते में लॉग इन करें।
  • डेटाबेस बनाएं पर क्लिक करें बटन।
  • अपने Redis क्लस्टर का नाम दर्ज करें और एक क्षेत्र चुनें।
  • बनाएं . पर क्लिक करें बटन।

इतना ही! अब आपके पास सर्वर रहित रेडिस क्लस्टर उपयोग के लिए तैयार है।

अपने Redis क्लस्टर के एंडपॉइंट को पासवर्ड और पोर्ट के साथ नोट करना सुनिश्चित करें।

लारवेल को सर्वर रहित रेडिस के साथ कॉन्फ़िगर करना

अब जब आपके पास सर्वर रहित Redis क्लस्टर है, तो आप Laravel को इसका उपयोग करने के लिए वैसे ही कॉन्फ़िगर कर सकते हैं जैसे आप किसी अन्य Redis उदाहरण के लिए करते हैं।

प्रीडिस पैकेज इंस्टॉल करें

अतीत में, आप अपने Redis क्लस्टर से कनेक्ट करने के लिए PHP Redis एक्सटेंशन का उपयोग करते थे। हालाँकि, अब आप इसके बजाय Predis पैकेज का उपयोग कर सकते हैं।

Predis पैकेज को इंस्टाल करने के लिए, निम्न कमांड चलाएँ:

composer require predis/predis

इसके बाद, अपने Laravel प्रोजेक्ट के .env . पर जाएं फ़ाइल करें और निम्न पंक्तियों को अपडेट करें:

REDIS_HOST=your_upstash_redis_endpoint
REDIS_PASSWORD=your_upstash_redis_password
REDIS_PORT=your_upstash_redis_port

Redis विवरण बदलते समय, कैश ड्राइवर और सत्र ड्राइवर को redis में भी बदलना सुनिश्चित करें :

CACHE_DRIVER=redis
SESSION_DRIVER=redis

अंत में, निम्न कमांड चलाकर अपना कॉन्फिग कैश साफ़ करें:

php artisan config:clear

इस तरह आपका Laravel एप्लिकेशन अपने कैशे और सत्र डेटा को संग्रहीत करने के लिए सर्वर रहित Redis क्लस्टर का उपयोग करेगा।

निष्कर्ष

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

Upstash के बारे में अधिक जानकारी के लिए, दस्तावेज़ीकरण देखें।

अपने लारवेल एप्लिकेशन को स्केल करने के तरीके के बारे में अधिक जानकारी के लिए निम्नलिखित लेख देखें:

  • प्रबंधित डेटाबेस और ऑब्जेक्ट संग्रहण का उपयोग करके स्केलेबल Laravel 6 एप्लिकेशन कैसे सेट करें

  1. फ़्लटर, सर्वरलेस फ्रेमवर्क और अपस्टैश (REDIS) के साथ फुलस्टैक सर्वर रहित ऐप - भाग 1

    इस पोस्ट में, हम डेटा स्टोर करने के लिए फ़्लटर, सर्वरलेस फ्रेमवर्क, अपस्टैश और रेडिस के साथ एक सर्वर रहित मोबाइल एप्लिकेशन का निर्माण करेंगे। अपस्टैश क्या है? Upstash Redis के लिए एक सर्वर रहित डेटाबेस है। Upstash के साथ, आप प्रति-अनुरोध का भुगतान करते हैं। इसका मतलब है कि जब डेटाबेस उपयोग में नहीं

  1. सर्वर रहित रेडिस पर पाइपलाइन रेस्ट एपीआई

    Upstash देशी Redis API के अलावा REST API का भी समर्थन करता है। आरईएसटी एपीआई डेवलपर्स को सर्वर रहित और किनारे के कार्यों से कनेक्शन के मुद्दों के बिना अपने रेडिस तक पहुंचने में मदद करता है। लेकिन अगर आप एक ही फ़ंक्शन में कई रेडिस कमांड निष्पादित करते हैं, तो इसका मतलब है कि आप डेटाबेस को कई बार कॉल

  1. रेडिस @ एज विद क्लाउडफ्लेयर वर्कर्स

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