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

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

Apigee में Qpid

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

  • Analytics
  • कमाई करना

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

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

मेमोरी

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

हीप हीप मेमोरी के मैसेज, डिस्क में बने रहते हैं. इसके अलावा, अगर ऑफ़-हीप मेमोरी का कुल इस्तेमाल किसी तय थ्रेशोल्ड का उल्लंघन करता है, तो Qpid मैसेज को डिस्क पर ओवरफ़्लो होने के लिए कॉन्फ़िगर किया जाता है.

डिफ़ॉल्ट रूप से, Apigee, नोड पर उपलब्ध मेमोरी के आधार पर Qpid ब्रोकर की हीप और ऑफ़-हीप मेमोरी का हिसाब लगा सकता है. Apigee की स्क्रिप्ट में, Qpid ब्रोकर की हीप और ऑफ़-हीप मेमोरी के लिए, सॉफ़्ट स्टोरेज की सीमा चार जीबी होती है. अगर आपको इन सीमाओं को बदलना है, तो नीचे दिए गए दो कॉन्फ़िगरेशन का इस्तेमाल करके 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 ब्रोकर की डेटा डायरेक्ट्री $APIGEE_ROOT/data/apigee-qpidd है. Qpid ब्रोकर के लॉग $APIGEE_ROOT/var/log/apigee-qpidd में सेव हैं.

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

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

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

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

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

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

  1. यह फ़ाइल बनाएं या उसमें बदलाव करें:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. ज़रूरत के हिसाब से कॉन्फ़िगरेशन जोड़ें, हटाएं या उसमें बदलाव करें. उदाहरण के लिए, Qpid ब्रोकर की ज़्यादा से ज़्यादा हीप मेमोरी को 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 रीस्टार्ट