जावा में माइक्रोसर्विसेज़: शुरुआती के लिए रोडमैप

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

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

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

जावा में माइक्रोसर्विसेज़: डरें नहीं, यह जितना लगता है उससे कहीं ज़्यादा आसान है

\n\n

क्या आपने कभी किसी मोनोलिथिक एप्लिकेशन को देखा है और सोचा है: "काश मैं इसे भागों में बाँट पाता, ताकि यह डर न रहे कि एक बदलाव सब कुछ तोड़ देगा"? बधाई हो — आप माइक्रोसर्विसेज़ के लिए तैयार हैं। जावा की दुनिया में, यह विषय अविश्वसनीय जटिलता और ढेर सारी तकनीकों के मिथकों से घिरा हुआ है। वास्तव में, आप दो क्लास और एक application.yml फ़ाइल से शुरुआत कर सकते हैं।

\n\n

इस लेख में, हम कोई अंतरिक्ष यान नहीं बनाएँगे। हम दो सरल माइक्रोसर्विसेज़ लिखेंगे जो HTTP पर एक-दूसरे से बात करेंगे, और समझेंगे कि वास्तव में कहाँ से शुरू करना है। कोई जादू नहीं — केवल जावा, Spring Boot और सामान्य ज्ञान।

\n\n

माइक्रोसर्विस क्या है (सरल शब्दों में)

\n\n

एक रेस्तराँ की कल्पना करें। मोनोलिथ तब होता है जब एक ही रसोइया सब कुछ करता है: सूप बनाना, स्टेक भूनना और बर्तन धोना। माइक्रोसर्विसेज़ एक टीम की तरह हैं: एक रसोइया केवल सूप के लिए ज़िम्मेदार है, दूसरा मांस के लिए, तीसरा मिठाई के लिए। हर कोई स्वतंत्र रूप से काम करता है, लेकिन साथ मिलकर एक सामान्य मेनू बनाते हैं।

\n\n

जावा में, माइक्रोसर्विस एक स्वतंत्र एप्लिकेशन है जो एक व्यावसायिक कार्य (जैसे, "उपयोगकर्ता प्रबंधन" या "ऑर्डर प्रोसेसिंग") के लिए ज़िम्मेदार है। इसका अपना डेटाबेस, अपना कोड होता है, और यह नेटवर्क (आमतौर पर HTTP/REST या मैसेज ब्रोकर के माध्यम से) पर अन्य सर्विसेज़ के साथ संवाद करता है।

\n\n

कहाँ से शुरू करें: एक सज्जन व्यक्ति का टूलकिट

\n\n

पहले प्रोजेक्ट के लिए, आपको केवल तीन चीज़ों की आवश्यकता होगी:

\n\n
    \n
  • Java 17+ — उपयोगी सुविधाओं (records, sealed classes) के साथ आधुनिक संस्करण।
  • \n
  • Spring Boot 3.x — जावा में माइक्रोसर्विसेज़ के लिए सबसे लोकप्रिय फ्रेमवर्क। यह 80% नियमित काम अपने हाथ में ले लेता है।
  • \n
  • Maven या Gradle — बिल्ड के लिए। शुरुआत के लिए Maven आसान है, Gradle तेज़ है।
  • \n
\n\n

अतिरिक्त, जब आप जटिलता बढ़ाना चाहें:

\n
    \n
  • Docker — सर्विस को कंटेनर में पैकेज करने के लिए।
  • \n
  • Spring Cloud — सर्विस डिस्कवरी और लोड बैलेंसिंग के लिए।
  • \n
  • PostgreSQL/H2 — पसंद का डेटाबेस।
  • \n
\n\n

सुझाव: तुरंत Kubernetes और Kafka सीखने की कोशिश न करें। सरल REST संचार से शुरुआत करें।

\n\n

पहला माइक्रोसर्विस लिखना: उपयोगकर्ता सर्विस

\n\n

हम एक सरल माइक्रोसर्विस बनाएँगे जो उपयोगकर्ताओं के बारे में जानकारी प्रदान कर सके। Spring Initializr (start.spring.io) का उपयोग करें या मैन्युअल रूप से प्रोजेक्ट बनाएँ।

\n\n

pom.xml में डिपेंडेंसी जोड़ें:

\n\n
<dependency>\n    <groupId>org.springframework.boot</groupId>\n    <artifactId>spring-boot-starter-web</artifactId>\n</dependency>\n\n<dependency>\n    <groupId>org.springframework.boot</groupId>\n    <artifactId>spring-boot-starter-data-jpa</artifactId>\n</dependency>\n\n<dependency>\n    <groupId>com.h2database</groupId>\n    <artifactId>h2</artifactId>\n    <scope>runtime</scope>\n</dependency>
\n\n

अब उपयोगकर्ता का मॉडल लिखें:

\n\n
import jakarta.persistence.*;\n\n@Entity\n@Table(name = "users")\npublic class User {\n    @Id\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\n    private Long id;\n    private String name;\n    private String email;\n\n    // कंस्ट्रक्टर, गेटर, सेटर (Lombok का उपयोग कर सकते हैं)\n    public User() {}\n\n    public User(String name, String email) {\n        this.name = name;\n        this.email = email;\n    }\n\n    // गेटर और सेटर\n}
\n\n

रिपॉजिटरी (डेटा तक सरलीकृत पहुँच):

\n\n
import org.springframework.data.jpa.repository.JpaRepository;\n\npublic interface UserRepository extends JpaRepository<User, Long> {\n}
\n\n

और कंट्रोलर — REST एंडपॉइंट:

\n\n
import org.springframework.web.bind.annotation.*;\n\nimport java.util.List;\n\n@RestController\n@RequestMapping("/api/users")\npublic class UserController {\n\n    private                

ब्लॉग

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