क्यूपीआईडी से जुड़ी कार्रवाइयों की गाइड

Edge for Private Cloud के वर्शन 4.54.00 के साथ, Qpid Broker-J 10.0.1 भी शिप किया जाता है. इस पेज पर Edge for Private Cloud (Java पर आधारित ब्रोकर के साथ) के apigee-qpidd कॉम्पोनेंट के लिए, मेमोरी और डिस्क से जुड़ी ज़रूरी बातों के बारे में बताया गया है. यहां दिए गए सेक्शन, Apigee के Qpid के इस्तेमाल के उदाहरण पर लागू होते हैं. इनमें Apigee के कॉन्फ़िगरेशन के तरीकों का इस्तेमाल करके, Qpid को बेहतर बनाने का तरीका बताया गया है.

Apigee में Qpid

Apigee में, Qpid का इस्तेमाल दो मुख्य वर्कफ़्लो में किया जाता है:

  • Analytics
  • कमाई करना

इन दोनों वर्कफ़्लो में, Message Processor मैसेज जनरेट करता है. इन मैसेज को बैच में इकट्ठा करके, Qpid को पुश किया जाता है. Analytics के लिए, मैसेज को Qpid-server पढ़ता है; वहीं, कमाई करने की सुविधा के लिए, इन्हें रेटिंग सर्वर (मैनेजमेंट-सर्वर का हिस्सा) पढ़ता है. पढ़ने के बाद, बैच में शामिल मैसेज को अलग-अलग किया जाता है और उन्हें प्रोसेस किया जाता है.

यहां दिए गए सेक्शन में, Qpid के साथ मेमोरी और डिस्क के लिए सुझाए गए कॉन्फ़िगरेशन के बारे में बताया गया है. ये कॉन्फ़िगरेशन, Analytics या कमाई करने की सुविधा के लिए, 2 केबी के एक मैसेज के साइज़ पर आधारित हैं. डिफ़ॉल्ट बैच साइज़ 50 होने पर, Qpid में हर मैसेज का साइज़ करीब 100 केबी होगा. Apigee प्रॉक्सी को किसी मैसेज (Analytics या कमाई करने की सुविधा) में बदलाव करने और उसमें अतिरिक्त जानकारी जोड़ने की अनुमति देता है. कुछ मामलों में, इससे किसी एक मैसेज का साइज़ और Qpid में बैच में शामिल मैसेज का कुल साइज़ काफ़ी बदल सकता है. यहां दिए गए सेक्शन में, मेमोरी और डिस्क के बारे में दिए गए सामान्य सुझाव, ऐसे मामलों में भी लागू होते हैं. हालांकि, आपको Qpid में कुछ और बदलाव करने पड़ सकते हैं, ताकि यह आसानी से काम कर सके.

मेमोरी

Qpid Broker दो तरह की मेमोरी का इस्तेमाल करता है: ऑफ़-हीप मेमोरी और हीप मेमोरी. Qpid, मैसेज को ऑफ़-हीप मेमोरी में सेव करता है. वहीं, हीप मेमोरी का इस्तेमाल अपने इंटरनल टास्क, सीधे तौर पर क्यू और एक्सचेंज को मैसेज भेजने वगैरह के लिए करता है. ज़्यादातर मामलों में, Apigee का सुझाव है कि Qpid Broker के लिए, ऑफ़-हीप और हीप मेमोरी के बीच 3:1 का अनुपात बनाए रखें.

ऑफ़-हीप मेमोरी में मौजूद मैसेज, डिस्क पर बने रहते हैं. इसके अलावा, अगर ऑफ़-हीप मेमोरी का कुल इस्तेमाल किसी तय सीमा से ज़्यादा हो जाता है, तो Qpid को डिस्क पर मैसेज भेजने के लिए कॉन्फ़िगर किया जाता है.

डिफ़ॉल्ट रूप से, Apigee, नोड पर उपलब्ध मेमोरी के आधार पर, Qpid Broker की हीप और ऑफ़-हीप मेमोरी का हिसाब लगाता है. Apigee के स्क्रिप्ट में, Qpid Broker की हीप और ऑफ़-हीप मेमोरी के लिए, कुल मिलाकर 4 जीबी की सॉफ़्ट लिमिट होती है. अगर आपको इन सीमाओं को बदलना है, तो Qpid की हीप और ऑफ़-हीप मेमोरी के लिए अपनी वैल्यू सेट करने के लिए, यहां दिए गए दो कॉन्फ़िगरेशन का इस्तेमाल किया जा सकता है.

  • हीप मेमोरी के लिए कॉन्फ़िगरेशन: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • ऑफ़-हीप मेमोरी के लिए कॉन्फ़िगरेशन: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

कॉन्फ़िगरेशन बदलने के तरीके के बारे में जानने के लिए, Qpid का कॉन्फ़िगरेशन बदलने का तरीका देखें.

ज़्यादा जानकारी के लिए, मेमोरी के लिए Apache Qpid का रेफ़रंस देखें.

डिस्क

Qpid Broker की डेटा डायरेक्ट्री, $APIGEE_ROOT/data/apigee-qpidd है. Qpid Broker के लॉग, $APIGEE_ROOT/var/log/apigee-qpidd में सेव किए जाते हैं.

डेटा डायरेक्ट्री को होस्ट करने वाले फ़ाइल सिस्टम की परफ़ॉर्मेंस, ब्रोकर की पूरी परफ़ॉर्मेंस के लिए ज़रूरी है. बेहतर परफ़ॉर्मेंस के लिए, ऐसा डिवाइस चुनें जिसकी लेटेंसी कम हो और जिसका इस्तेमाल अन्य ऐप्लिकेशन न करते हों.

Qpid Broker, अपने मैसेज को डेटा डायरेक्ट्री में सेव करता है. डिफ़ॉल्ट रूप से, ब्रोकर तब तक मैसेज स्वीकार करेगा, जब तक डेटा डायरेक्ट्री को होस्ट करने वाला फ़ाइल सिस्टम 80% तक न भर जाए. हर Qpid नोड पर, यहां दिए गए उदाहरण में दिखाए गए कॉन्फ़िगरेशन को बदलकर, इस सीमा में बदलाव किया जा सकता है.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

इस उदाहरण में, जब फ़ाइल सिस्टम 60% तक भर जाता है, तो ब्रोकर नए मैसेज स्वीकार नहीं करता.

Qpid का कॉन्फ़िगरेशन बदलने का तरीका

Qpid का कॉन्फ़िगरेशन बदलने के लिए:

  1. यह फ़ाइल बनाएं या इसमें बदलाव करें:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. ज़रूरत के हिसाब से, कॉन्फ़िगरेशन जोड़ें, हटाएं या बदलें. उदाहरण के लिए, Qpid Broker की ज़्यादा से ज़्यादा हीप मेमोरी को 6 जीबी में बदलने के लिए, फ़ाइल में यह कॉन्फ़िगरेशन बदलें:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. बदलाव सेव करें और पक्का करें कि फ़ाइल का मालिकाना हक apigee उपयोगकर्ता के पास हो और वह इसे पढ़ सके:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. qpidd प्रोसेस को रीस्टार्ट करें:
    apigee-service apigee-qpidd restart