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

निजी क्लाउड वर्शन 4.52.01 के लिए Edge, Qpid ब्रोकर-J 8.0.6 के साथ डिलीवर होता है. इस पेज पर निजी क्लाउड के लिए Edge के apigee-qpidd कॉम्पोनेंट (जावा-आधारित ब्रोकर के साथ) के लिए, मेमोरी और डिस्क से जुड़ी ज़रूरतों के बारे में बताया गया है. नीचे दिए गए सेक्शन खास तौर पर, 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 को रीस्टार्ट करें