"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा के लिए अमेज़ॅन ऑरोरा सर्वरलेस वीथ एडब्ल्यूएस एसडीके के लिए डेटा एपीआई - पार्ट ऑरोरा सर्वरलेस वाता एपीआई डेवऑप्स गुरु से मिलता है या नहीं?

जावा के लिए अमेज़ॅन ऑरोरा सर्वरलेस वीथ एडब्ल्यूएस एसडीके के लिए डेटा एपीआई - पार्ट ऑरोरा सर्वरलेस वाता एपीआई डेवऑप्स गुरु से मिलता है या नहीं?

2024-11-11 को प्रकाशित
ब्राउज़ करें:510

परिचय

सर्वर रहित अनुप्रयोगों के लिए मेरे लेख अमेज़न DevOps गुरु में - भाग 10 ऑरोरा सर्वर रहित v2 पर विसंगति का पता लगाना, हमने सीखा कि DevOps गुरु जावा 21 प्रबंधित लैम्ब्डा फ़ंक्शन के मामले में ऑरोरा (सर्वर रहित v2) PostgreSQL डेटाबेस के साथ विसंगतियों का सफलतापूर्वक पता लगाने में सक्षम था। रनटाइम जेडीबीसी के माध्यम से इससे जुड़ा था। हमने अपने डेटाबेस को केवल 0.5 से 1 एसीयू तक बढ़ाया और कई मिनटों के लिए एक साथ कई सौ बार आईडी द्वारा उत्पाद को पुनः प्राप्त करने के लिए लैम्ब्डा फ़ंक्शन को लागू करके डेटाबेस पर बहुत अधिक लोड बनाया। हमने देखा कि DevOps Guru ने डेटाबेस कनेक्शन के बढ़े हुए योग और लगातार उच्च डेटाबेस (CPU) लोड की ओर सही ढंग से इंगित किया है। इस लेख में मैं यह जानना चाहता हूं कि क्या DevOps गुरु एक ही प्रयोग करते हुए विसंगति का पता लगाएगा, लेकिन JDBC के बजाय जावा के लिए AWS SDK के साथ ऑरोरा सर्वरलेस v2 के लिए डेटा एपीआई का उपयोग करेगा।

डेटा एपीआई के साथ ऑरोरा सर्वरलेस v2 पर विसंगति का पता लगाना

आइए हमारे नमूना एप्लिकेशन पर गौर करें और बुनियादी ढांचा बनाने और निम्नलिखित चित्र पर वर्णित एप्लिकेशन को तैनात करने के लिए एसएएम टेम्पलेट का उपयोग करें:

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?

एप्लिकेशन ऑरोरा सर्वरलेस वी2 पोस्टग्रेएसक्यूएल डेटाबेस में संग्रहीत उत्पाद बनाता है और डेटा एपीआई का उपयोग करके आईडी द्वारा उन्हें पुनर्प्राप्त करता है। प्रासंगिक लैम्ब्डा फ़ंक्शन जिसका उपयोग हम उत्पाद को उसकी आईडी द्वारा पुनर्प्राप्त करने के लिए करेंगे, वह GetProductByIdViaAuroraServerlessV2DataApi है और इसका हैंडलर कार्यान्वयन GetProductByIdViaAuroraServerlessV2DataApiHandler है।

जैसा कि पिछले लेख में हम इस तरह तनाव परीक्षण करने के लिए हे टूल का उपयोग करते हैं

hey -z 15m -c 300 -H "X-API-Key: XXXa6XXXX" https://XXX.execute-api.eu-central-1.amazonaws.com/prod/productsWithDataApi/1   

इस उदाहरण में हम 15 मिनट के लिए 300 समवर्ती कंटेनरों के साथ एपीआई गेटवे एंडपॉइंट को लागू करते हैं। उत्पाद/उत्पादों के पीछे डेटाएपीआई एंडपॉइंट लैम्ब्डा फ़ंक्शन GetProductByIdViaAuroraServerlessV2WithoutDataApi को लागू किया जाएगा जो ऑरोरा सर्वरलेस v2 PostgreSQL डेटाबेस से आईडी 1 द्वारा उत्पाद को पुनः प्राप्त करेगा।

हमने अपने [एसएएम टेम्पलेट]((https://github.com/Vadym79/AWSLambdaJavaAuroraServerlessV2DataApi/blob/master/template.yaml) ऑरोरा डेटाबेस क्लस्टर को न्यूनतम क्षमता 0.5 से अधिकतम क्षमता 1 ACU (जो है) तक कॉन्फ़िगर किया है लागत बचत उद्देश्य के लिए बढ़े हुए लोड के मामले में बहुत छोटा डेटाबेस आकार)।

  AuroraServerlessV2Cluster:
    Type: 'AWS::RDS::DBCluster'
...
      ServerlessV2ScalingConfiguration:
        MinCapacity: 0.5
        MaxCapacity: 1

ऑरोरा (सर्वरलेस वी2) डेटाबेस डेटाबेस आकार (हमारे मामले में एसीयू सेटिंग) के आनुपातिक रूप से उपलब्ध डेटाबेस कनेक्शन की अधिकतम संख्या का प्रबंधन करता है, साथ ही ऑरोरा सर्वरलेस वी2 के लिए डेटा एपीआई के साथ (जो कि वी1 के लिए एक बड़ा अंतर है जो बन जाएगा) वर्ष 2024 के अंत में समर्थन से बाहर जहां प्रति सेकंड 1000 डेटाबेस कनेक्शन का एक कठिन कोटा था)। अधिक जानकारी के लिए, कृपया ऑरोरा सर्वरलेस v2 के लिए अधिकतम कनेक्शन के बारे में दस्तावेज़ पढ़ें। इसलिए, इनवोकेशन की बढ़ी हुई संख्या के साथ, हम जल्द ही उपलब्ध डेटाबेस कनेक्शन और उच्च डेटाबेस (सीपीयू) लोड की अधिकतम संख्या तक पहुंचने की उम्मीद करते हैं, जिससे डेटाबेस उत्पाद को पुनः प्राप्त करने के लिए नए लैम्ब्डा फ़ंक्शन अनुरोधों का जवाब देने में सक्षम नहीं होगा। आईडी (तब लैम्ब्डा भी चलेगा)। इससे हम विसंगति को उजागर करेंगे और यह पता लगाना चाहेंगे कि क्या DevOps Guru इसका पता लगाने में सक्षम होगा। और यह सक्षम था, एक तरह का.... निम्नलिखित अंतर्दृष्टि उत्पन्न हुई:

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?

और निम्नलिखित समग्र विसंगतिपूर्ण मीट्रिक की पहचान की गई है:

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?

सर्वर रहित अनुप्रयोगों के लिए मेरे लेख अमेज़ॅन डेवऑप्स गुरु में वर्णित डेटा एपीआई के बजाय जेडीबीसी का उपयोग करने के मामले में पहचाने गए एकत्रित विसंगतिपूर्ण मेट्रिक्स की तुलना - ऑरोरा सर्वरलेस वी2 पर भाग 10 विसंगति का पता लगाना, हम ऑरोरा डेटाबेस विसंगतिपूर्ण मेट्रिक्स को पूरी तरह से खारिज कर देते हैं: डेटाबेस कनेक्शन योग और डेटाबेस (सीपीयू) लोड लेकिन लैम्ब्डा में त्रुटि को सही ढंग से देखें जो 15 सेकंड में निर्धारित समय में चला गया क्योंकि डेटाबेस प्रतिक्रिया नहीं दे सका।

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?.

तो, क्या अंतर है? आइए उन दोनों घटनाओं का पता लगाएं जिन्हें हमने जेडीबीसी (नॉन डेटा एपीआई) और डेटा एपीआई के साथ ऑरोरा सर्वरलेस वी2 पोस्टग्रेएसक्यूएल क्लस्टर पर पुन: प्रस्तुत किया था:

एसीयू उपयोग/स्केलिंग के संदर्भ में वे दोनों एक जैसे दिखते हैं:

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?

अन्य डेटाबेस मेट्रिक्स जैसे: सीपीयू यूटिलाइजेशन, डेटाबेसकनेक्शन डीबीएलओएड (सीपीयू) के संदर्भ में भारी अंतर हैं:

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?

  • सीपीयू उपयोग जेडीबीसी (गैर-डेटा एपीआई) और डेटा एपीआई मामलों के लिए समान दिखता है। लेकिन ऐसा लगता है कि DevOps Guru इस मीट्रिक पर विचार नहीं कर रहा है, क्योंकि हमने इसे JDBC प्रयोग के लिए भी नहीं देखा था
  • DBLoad(CPU) जो डेटा एपीआई उपयोग के लिए बहुत कम है। ऐसा लगता है कि Dat API के लिए ऑरोरा सर्वरलेस v2 डेटाबेस के सामने कुछ लोड बैलेंसर है जो कनेक्शन के उपयोग की निगरानी करता है और डेटाबेस को ओवरलोड होने से बचाता है।
  • डेटा एपीआई उपयोग के लिए डेटाबेसकनेक्शन मीट्रिक नहीं दिखाया गया है (या 0 के रूप में दिखाया गया है)। इसका कारण यह है कि हम डेटा एपीआई के लिए डेटाबेस कनेक्शन का प्रबंधन नहीं करते हैं, यह हमारे लिए दूसरी तरफ से किया जाता है। बेशक वे अभी भी एक महत्वपूर्ण भूमिका निभाते हैं जो हमने ऑरोरा सर्वरलेस v2 के लिए अधिकतम कनेक्शन में सीखा था, लेकिन ऐसा लगता है कि यह मीट्रिक क्लाउडवॉच मेट्रिक्स में बाहर उजागर हो गया है और यहां तक ​​कि DevOps Guru के पास भी वास्तविक संख्याओं तक कोई पहुंच नहीं है।

उसके साथ और बहुत कम डीबीएलओएड (सीपीयू) के साथ जेडीबीसी उपयोग के मामले की तुलना में डेटा एपीआई उपयोग के साथ ऑरोरा सर्वरलेस वी2 क्लस्टर के लिए कोई डेवऑप्स गुरु अंतर्दृष्टि उत्पन्न नहीं हुई है।

मैंने ऑरोरा सर्वरलेस वी2 क्लस्टर से सीधे जुड़कर दूसरा प्रयोग किया और मानक तरीके (गैर-डेटा एपीआई) का उपयोग करके कई सौ बार आईडी द्वारा उत्पाद लाने वाली स्क्रिप्ट लिखकर लोड टेस्ट बनाने के लिए स्क्रिप्ट लिखी। जैसा कि हमने हे टूल के साथ किया था, लेकिन एपीआई गेटवे को लागू करने के बजाय सीधे डेटाबेस पर ले जाना। डेटाबेस को लोड में रखने के बाद, मैंने हे टूल के साथ वही प्रयोग शुरू किया जैसा कि ऊपर वर्णित है और देखना चाहता था कि क्या होगा। वही अंतर्दृष्टि उत्पन्न हुई लेकिन इस बार निम्नलिखित असंगत मैट्रिक्स के साथ:

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?

अब हम कम से कम अतिरिक्त ऑरोरा सर्वरलेस वी2 डेटाबेस कनेक्शन योग विषम मीट्रिक देखते हैं, लेकिन डीबीएलओएड (सीपीयू) मीट्रिक अभी भी गायब हैं।

रेखांकित विसंगतियाँ इस तरह दिखती हैं:

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part Aurora Serverless vata API meets DevOps Guru or not?

बेशक, प्रयोग साफ नहीं था, क्योंकि मैंने एक के बाद एक और आंशिक रूप से समानांतर में 2 लोड परीक्षण किए: पहला एपीआई गेटवे उपयोग के बिना सीधे डेटाबेस से जुड़ना और दूसरा डेटा एपीआई का उपयोग करके। इसने मेरी प्रारंभिक धारणा की पुष्टि की कि ऑरोरा सर्वरलेस v2 (और सामान्य रूप से आरडीएस के लिए) के लिए DevOps गुरु अंतर्दृष्टि उत्पन्न करने के लिए डेटाबेस कनेक्शन योग मेट्रिक्स एक बहुत ही महत्वपूर्ण मानदंड है और डेटा एपीआई का उपयोग करने के मामले में यह सामान्य रूप से उजागर नहीं होता है।
मैंने पहले ही देवोप्स गुरु टीम से संपर्क किया और उनके साथ अपनी अंतर्दृष्टि इस उम्मीद के साथ साझा की कि वे सेवा में सुधार करेंगे। या सबसे पहले डेटा एपीआई के साथ ऑरोरा सर्वरलेस वी2 का उपयोग करने के लिए क्लाउडवॉच मेट्रिक के रूप में डेटाबेस कनेक्शन को उजागर करना तय किया जाएगा।

निष्कर्ष

इस लेख में पता चला कि DevOps Guru लैम्ब्डा फ़ंक्शन के मामले में ऑरोरा (सर्वरलेस v2) पोस्टग्रेएसक्यूएल डेटाबेस के साथ विसंगतियों का सफलतापूर्वक पता लगा सकता है, जिसमें जावा 21 प्रबंधित रनटाइम डेटा एपीआई के माध्यम से जुड़ा हुआ है, लेकिन केवल लैम्ब्डा फ़ंक्शन से संबंधित विसंगतिपूर्ण मेट्रिक्स दिखा सका। डेटाबेस द्वारा प्रतिक्रिया न देने के कारण समय समाप्त हो गया। इसका मुख्य कारण यह प्रतीत होता है कि डेटा एपीआई के साथ ऑरोरा सर्वरलेस v2 का उपयोग करने के मामले में क्लाउडवॉच मेट्रिक के रूप में डेटाबेस कनेक्शन उजागर नहीं होता है (या हमेशा 0 के रूप में प्रदर्शित होता है)। ऑरोरा सर्वरलेस v2 डेटाबेस मेट्रिक्स (डेटाबेस कनेक्शन योग) केवल दूसरे कृत्रिम प्रयोग के दौरान दिखाया गया था।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/aws-builders/data-api-for-amazon-aurora-serverless-v2-with-aws-sdk-for-java-part-10-aurora-serverless- v2- data-api-meets-devops-guru-or-not-1c60?1यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3