Spring Boot 4 की संपूर्ण मार्गदर्शिका · पाठ

RabbitMQ/Kafka का एकीकरण

विश्वसनीय संचार के लिए Spring AMQP या Spring Kafka का उपयोग करके संदेश उत्पादक और उपभोक्ता लागू करें।

पाठ 3, कुल 4 में से12 चरण

RabbitMQ/Kafka का एकीकरण, CoddyKit पर Spring Boot 4 की संपूर्ण मार्गदर्शिका का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Spring Boot 4 की संपूर्ण मार्गदर्शिका सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

मैसेज ब्रोकर के साथ पृथक्करण

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

ये मध्यस्थ के रूप में कार्य करते हैं और आपके सिस्टम के विभिन्न हिस्सों को अतुल्यकालिक रूप से संदेश भेजने तथा प्राप्त करने की अनुमति देते हैं। इससे विश्वसनीयता और विस्तार-क्षमता बेहतर होती है।

  • पृथक्करण: सेवाओं को एक-दूसरे के बारे में जानने की आवश्यकता नहीं होती।
  • विश्वसनीयता: संदेशों को प्रोसेस होने तक संग्रहित रखा जाता है।
  • विस्तार-क्षमता: बड़ी संख्या में संदेशों को संभाला जा सकता है।

Spring का मैसेजिंग समर्थन

Spring Boot विभिन्न मैसेज ब्रोकर के साथ एकीकरण के लिए उत्कृष्ट समर्थन प्रदान करता है। यह संदेश भेजने और प्राप्त करने को सरल बनाने के लिए उच्च-स्तरीय अमूर्तताएँ उपलब्ध कराता है।

हम जिन दो लोकप्रिय विकल्पों को समझेंगे, वे हैं:

  • RabbitMQ: सामान्य प्रयोजन वाला मैसेज ब्रोकर (AMQP)।
  • Apache Kafka: वितरित स्ट्रीमिंग प्लेटफ़ॉर्म।

Spring, RabbitMQ के लिए Spring AMQP और Kafka के लिए Spring Kafka जैसे समर्पित मॉड्यूल उपलब्ध कराता है।

RabbitMQ के लिए Spring AMQP सेटअप

Spring Boot के साथ RabbitMQ का उपयोग करने के लिए आपको अपने प्रोजेक्ट में Spring AMQP स्टार्टर निर्भरता जोड़नी होगी (जैसे, pom.xml या build.gradle में):

org.springframework.boot:spring-boot-starter-amqp

आप application.properties या application.yml में कनेक्शन का विवरण भी कॉन्फ़िगर करेंगे, जिसमें आम तौर पर अपने RabbitMQ सर्वर का होस्ट और पोर्ट निर्दिष्ट किया जाता है।

RabbitMQ उत्पादक का उदाहरण

Spring के RabbitTemplate से RabbitMQ को संदेश भेजना आसान है। यह आपके लिए निम्न-स्तरीय विवरण संभालता है।

नीचे दिया गया कोड 'coddykit-queue' नाम वाली कतार में एक सरल स्ट्रिंग संदेश भेजना दिखाता है।

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class Main {

  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  @Bean
  public CommandLineRunner runner(
      RabbitTemplate rabbitTemplate) {
    return args -> {
      System.out.println("Sending to RabbitMQ...");
      rabbitTemplate.convertAndSend(
          "coddykit-queue", "Hello from CoddyKit!");
      System.out.println("Message sent!");
    };
  }
}

RabbitMQ उपभोक्ता का उदाहरण

संदेश प्राप्त करने के लिए आप @RabbitListener annotation का उपयोग करते हैं। Spring AMQP निर्दिष्ट कतार पर नज़र रखने के लिए आवश्यक ढाँचा अपने-आप तैयार कर देता है।

यह श्रोता 'coddykit-queue' से आने वाले संदेशों को प्राप्त होते ही प्रोसेस करेगा।

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {

  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  @RabbitListener(queues = "coddykit-queue")
  public void listen(String message) {
    System.out.println(
        "Received RabbitMQ message: '" + message + "'");
  }
}

Spring Kafka सेटअप

Kafka के साथ एकीकरण के लिए आपको Spring Kafka स्टार्टर निर्भरता जोड़नी होगी:

org.springframework.boot:spring-boot-starter-kafka

इस निर्भरता में spring-kafka शामिल है और यह आपके लिए बहुत-सी चीज़ों को अपने-आप कॉन्फ़िगर करती है। अपने application.properties में आप अपने Kafka ब्रोकर के पते कॉन्फ़िगर करेंगे (जैसे, spring.kafka.bootstrap-servers=localhost:9092)।

Kafka उत्पादक का उदाहरण

Spring Kafka, Kafka विषयों पर संदेश भेजने के लिए KafkaTemplate उपलब्ध कराता है। अवधारणा के स्तर पर यह RabbitTemplate के समान है, लेकिन Kafka के लिए है।

यह उदाहरण Kafka विषय 'coddykit-topic' पर एक संदेश भेजता है।

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.kafka.core.KafkaTemplate;

@SpringBootApplication
public class Main {

  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  @Bean
  public CommandLineRunner runner(
      KafkaTemplate<String, String> kafkaTemplate) {
    return args -> {
      System.out.println("Sending to Kafka...");
      kafkaTemplate.send(
          "coddykit-topic", "Hello from CoddyKit (Kafka)!");
      System.out.println("Message sent!");
    };
  }
}

Kafka उपभोक्ता का उदाहरण

Kafka से संदेश प्राप्त करने के लिए @KafkaListener annotation का उपयोग किया जाता है। आपको उन विषयों को निर्दिष्ट करना होगा जिन पर नज़र रखनी है और एक groupId देना होगा।

Kafka उपभोक्ताओं के लिए संदेश ऑफ़सेट प्रबंधित करने और पार्टिशन वितरित करने हेतु groupId आवश्यक है।

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.kafka.annotation.KafkaListener;

@SpringBootApplication
public class Main {

  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  @KafkaListener(
      topics = "coddykit-topic", groupId = "coddykit-group")
  public void listen(String message) {
    System.out.println(
        "Received Kafka message: '" + message + "'");
  }
}

RabbitMQ बनाम Kafka: मुख्य अंतर

हालाँकि दोनों मैसेज ब्रोकर हैं, लेकिन इनके मुख्य उपयोग अलग-अलग हैं:

  • RabbitMQ: पारंपरिक मैसेज कतारों, कार्य कतारों और पॉइंट-टू-पॉइंट संचार के लिए सबसे उपयुक्त। संदेशों का आम तौर पर एक बार उपभोग किया जाता है और उन्हें कतार से हटा दिया जाता है।
  • Kafka: उच्च-थ्रूपुट और दोष-सहिष्णु घटना स्ट्रीमिंग के लिए बनाया गया है। संदेश लॉग में स्थायी रूप से रखे जाते हैं और अलग-अलग उपभोक्ता समूहों द्वारा कई बार उपभोग किए जा सकते हैं।

सही ब्रोकर चुनना

RabbitMQ और Kafka के बीच आपका चुनाव आपके एप्लिकेशन की विशिष्ट आवश्यकताओं पर बहुत अधिक निर्भर करता है:

  • विश्वसनीय कार्य वितरण, ऐसी अंतर-सेवा संचार व्यवस्था जिसमें संदेशों की एक उपभोक्ता तक सुनिश्चित डिलीवरी आवश्यक हो, या जटिल रूटिंग तर्क के लिए RabbitMQ का उपयोग करें।
  • रियल-टाइम डेटा पाइपलाइन, घटना-स्रोतकरण, लॉग एकत्रीकरण बनाने या डेटा स्ट्रीम को कई बार प्रोसेस करने के लिए Kafka का उपयोग करें।

दोनों शक्तिशाली हैं, लेकिन अलग-अलग परिस्थितियों के लिए अनुकूलित हैं!

मैसेजिंग एकीकरण प्रश्नोत्तरी

आपने Spring Boot को RabbitMQ और Kafka के साथ एकीकृत करना सीख लिया है। आइए अपने ज्ञान की जाँच करें!

पाठ का पुनरावलोकन और अगले चरण

बहुत अच्छा! आपने Spring Boot को दो शक्तिशाली मैसेज ब्रोकर, RabbitMQ और Kafka, के साथ एकीकृत करना सीख लिया है।

  • हमने Spring AMQP और Spring Kafka के लिए निर्भरताएँ सेट अप करना सीखा।
  • आपने प्रत्येक ब्रोकर के लिए उत्पादक (संदेश भेजना) और उपभोक्ता (संदेश प्राप्त करना) बनाने के व्यावहारिक उदाहरण देखे।
  • अंत में, हमने सही टूल चुनने में आपकी सहायता के लिए मुख्य अंतर और उपयोग के मामलों पर चर्चा की।

मज़बूत, विस्तार योग्य और अलग-अलग जुड़े हुए एप्लिकेशन बनाने के लिए इन तकनीकों को सीखना जारी रखें!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Java सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
21
पाठ
84

अक्सर पूछे जाने वाले प्रश्न

क्या “RabbitMQ/Kafka का एकीकरण” पाठ निःशुल्क है?

हाँ — Spring Boot 4 की संपूर्ण मार्गदर्शिका अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “RabbitMQ/Kafka का एकीकरण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“RabbitMQ/Kafka का एकीकरण” में मैं क्या सीखूँगा?

विश्वसनीय संचार के लिए Spring AMQP या Spring Kafka का उपयोग करके संदेश उत्पादक और उपभोक्ता लागू करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Spring Boot 4 की संपूर्ण मार्गदर्शिका का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Spring Boot 4 की संपूर्ण मार्गदर्शिका शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Spring Boot 4 की संपूर्ण मार्गदर्शिका शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“RabbitMQ/Kafka का एकीकरण” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. @Async के साथ अतुल्यकालिक विधियाँ
  2. संदेश कतारों का परिचय
  3. RabbitMQ/Kafka का एकीकरण
  4. @Scheduled से कार्यों का समय-निर्धारण
← Spring Boot 4 की संपूर्ण मार्गदर्शिका पर वापस जाएँ