PHP माइक्रोसर्विसेज़: 2024 में शुरुआत करने वालों के लिए गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP माइक्रोसर्विसेज़: कहां से शुरू करें और पागल न हों

\n\n

क्या आपने कभी किसी मोनोलिथिक PHP एप्लिकेशन को देखा है जो 200,000 लाइनों के कोड तक बढ़ गया हो, और आपको लगा हो कि अंदर से सब कुछ सिकुड़ रहा है? एक कमिट — और सब कुछ टूट जाता है। कार्ट मॉड्यूल में एक गलती — और पूरी साइट डाउन हो जाती है। परिचित लग रहा है? मोनोलिथ में बचे लोगों के क्लब में आपका स्वागत है।

\n\n

लेकिन एक अच्छी खबर भी है: PHP माइक्रोसर्विसेज़ कोई रॉकेट साइंस नहीं हैं। ये सिर्फ छोटे, स्वतंत्र एप्लिकेशन का एक सेट है जो HTTP या कतारों के माध्यम से एक-दूसरे से संवाद करते हैं। और हाँ, PHP इसके लिए बिल्कुल उपयुक्त है। विश्वास नहीं होता? Laravel, Symfony और यहां तक कि "सादा" PHP भी माइक्रोसर्विसेज़ की भूमिका निभाने में बेहतरीन हैं।

\n\n

इस लेख में, मैं आपको वास्तविक कोड उदाहरणों के साथ PHP माइक्रोसर्विस आर्किटेक्चर दिखाऊंगा। आप जानेंगे कि कहां से शुरू करें, कौन से टूल्स चुनें और गलतियों से कैसे बचें। चलिए शुरू करते हैं!

\n\n

PHP माइक्रोसर्विसेज़ को सरल शब्दों में समझें

\n\n

एक पिज़्ज़ेरिया की कल्पना करें। मोनोलिथ वह है जब एक ही शेफ सब कुछ करता है: आटा गूंथना, सॉसेज काटना, पकाना, पैक करना, ऑर्डर लेना और बर्तन धोना। अगर शेफ बीमार पड़ गया — पिज़्ज़ेरिया बंद। माइक्रोसर्विसेज़ वह है जब आपके पास आटे के लिए अलग शेफ, टॉपिंग के लिए अलग, ओवन के लिए अलग और डिलीवरी के लिए अलग कर्मचारी हो। हर कोई स्वतंत्र रूप से काम करता है, और अगर "आटे वाला शेफ" बीमार पड़ता है, तो बाकी लोग काम करते रहते हैं।

\n\n

PHP की दुनिया में यह इस तरह दिखता है:

\n\n
    \n
  • यूज़र सर्विस — रजिस्ट्रेशन, लॉगिन, प्रोफाइल
  • \n
  • ऑर्डर सर्विस — ऑर्डर बनाना, भुगतान, स्टेटस
  • \n
  • नोटिफिकेशन सर्विस — ईमेल, SMS, push
  • \n
  • API Gateway — क्लाइंट के लिए एकल प्रवेश बिंदु
  • \n
\n\n

प्रत्येक सर्विस एक अलग PHP एप्लिकेशन है जिसका अपना डेटाबेस, अपना रिपॉजिटरी और अपना लॉजिक है। और ये सब मिलकर PHP माइक्रोसर्विस आर्किटेक्चर बनाते हैं।

\n\n

माइक्रोसर्विसेज़ पर कब स्विच करना चाहिए?

\n\n

ईमानदारी से कहूं तो: माइक्रोसर्विसेज़ कोई चांदी की गोली नहीं हैं। अगर आपके 3,000 यूज़र और 10 पेज हैं — तो भूल जाइए। आपको मोनोलिथ चाहिए। लेकिन अगर:

\n\n
    \n
  • डेवलपमेंट टीम 5+ लोगों तक बढ़ गई है
  • \n
  • आप हर छोटी चीज़ को डिप्लॉय करने से पहले प्रार्थना करते हैं
  • \n
  • एक ही डेटाबेस बाधा बन गया है
  • \n
  • एप्लिकेशन के अलग-अलग हिस्सों को अलग-अलग तकनीकों की ज़रूरत है (जैसे, सर्च के लिए Elasticsearch और ऑर्डर के लिए PostgreSQL)
  • \n
\n\n

...तब PHP माइक्रोसर्विसेज़ आपकी पसंद हैं।

\n\n

कहां से शुरू करें: PHP में बेसिक माइक्रोसर्विस

\n\n

चलिए सरल शुरुआत करते हैं। एक माइक्रोसर्विस बनाते हैं जो यूज़र की लिस्ट देता है। यह एक PHP REST API माइक्रोसर्विस होगा।

\n\n

चरण 1: प्रोजेक्ट स्ट्रक्चर

\n\n
user-service/\n├── public/\n│   └── index.php\n├── src/\n│   ├── Controllers/\n│   │   └── UserController.php\n│   ├── Models/\n│   │   └── User.php\n│   └── Services/\n│       └── UserService.php\n├── config/\n│   └── database.php\n├── composer.json\n└── .env
\n\n

चरण 2: एंट्री पॉइंट (index.php)

\n\n
<?php\n// public/index.php\nrequire_once __DIR__ . '/../vendor/autoload.php';\n\nuse Symfony\\Component\\Dotenv\\Dotenv;\nuse App\\Controllers\\UserController;\n\n$dotenv = new Dotenv();\n$dotenv->load(__DIR__ . '/../.env');\n\n$uri = $_SERVER['REQUEST_URI'];\n$method = $_SERVER['REQUEST_METHOD'];\n\n// सरल राउटर\nif ($uri === '/api/users' && $method === 'GET') {\n    $controller = new UserController();\n    echo json_encode($controller->index());\n} elseif (preg_match('/\\/api\\/users\\/(\\d+)/', $uri, $matches) && $method === 'GET') {\n    $controller = new UserController();\n    echo json_encode($controller->show($matches[1]));\n} else {\n    http_response_code(404);\n    echo json_encode(['error' => 'Not found']);\n}
\n\n

चरण 3: कंट्रोलर

\n\n
<?php\n// src/Controllers/UserController.php\nnamespace App\\Controllers;\n\nuse App\\Services\\UserService;\n\nclass UserController\n{\n                

ब्लॉग

पुस्तक अनुशंसाएँ