यह वैनगार्ड के रघु बोप्पन्ना के साथ सह-लिखित एक अतिथि पोस्ट है।
At हरावलव्यवसाय की एंटरप्राइज एडवाइस लाइन बेहतर, वैयक्तिकृत और किफायती वित्तीय सलाह तक डिजिटल पहुंच के माध्यम से निवेशकों के परिणामों में सुधार करती है। उन्होंने अत्यधिक लचीले और कुशल तकनीकी मंच के साथ निवेशकों के लिए दुनिया भर में पैमाने की अर्थव्यवस्थाओं को चलाकर इसे संभव बनाया। क्षेत्रीय सेवाओं की हानि से बचाने में मदद के लिए वैनगार्ड ने इस कार्यभार के लिए एक बहु-क्षेत्रीय वास्तुकला का विकल्प चुना। उच्च उपलब्धता उद्देश्यों के लिए, कार्यभार द्वारा उपयोग किए गए डेटा को न केवल प्राथमिक क्षेत्र में, बल्कि द्वितीयक क्षेत्र में भी न्यूनतम प्रतिकृति अंतराल के साथ उपलब्ध कराने की आवश्यकता है। प्राथमिक क्षेत्र में सेवा हानि की स्थिति में, समाधान यथासंभव कम डेटा हानि और डेटा अंतर्ग्रहण को फिर से शुरू करने की क्षमता के साथ द्वितीयक क्षेत्र में विफल होने में सक्षम होना चाहिए।
वैनगार्ड क्लाउड टेक्नोलॉजी ऑफिस और AWS ने AWS पर एक बुनियादी ढांचा समाधान बनाने के लिए साझेदारी की जो उनकी लचीलापन आवश्यकताओं को पूरा करता है। बहु-क्षेत्रीय समाधान अंतर्निहित अवलोकन और पुनर्प्राप्ति के साथ एक मजबूत विफलता-ओवर तंत्र को सक्षम बनाता है। समाधान कई स्रोतों से विभिन्न किनेसिस डेटा स्ट्रीम में डेटा स्ट्रीमिंग का भी समर्थन करता है। इस समाधान को वर्तमान में व्यावसायिक टीमों की विभिन्न श्रेणियों में उनके कार्यभार की लचीलेपन की स्थिति में सुधार करने के लिए पेश किया जा रहा है।
यहां चर्चा किए गए उपयोग के मामले में रिमोट डेटा स्रोत (मेनफ्रेम डीबी2) से डेटा स्ट्रीम करने के लिए चेंज डेटा कैप्चर (सीडीसी) की आवश्यकता होती है। अमेज़न Kinesis डेटा स्ट्रीम, क्योंकि बिज़नेस की क्षमता इसी डेटा पर निर्भर करती है। काइनेसिस डेटा स्ट्रीम एक पूरी तरह से प्रबंधित, बड़े पैमाने पर स्केलेबल, टिकाऊ और कम लागत वाली स्ट्रीमिंग सेवा है जो कई स्रोतों से बड़ी मात्रा में डेटा को लगातार कैप्चर और स्ट्रीम कर सकती है, और डेटा को मिलीसेकंड के भीतर उपभोग के लिए उपलब्ध कराती है। यह सेवा अत्यधिक लचीली बनाई गई है और डेटा को संसाधित और संग्रहीत करने के लिए कई उपलब्धता क्षेत्रों का उपयोग करती है।
इस पोस्ट में चर्चा किया गया समाधान बताता है कि कैसे AWS और वैनगार्ड ने अपने उच्च उपलब्धता लक्ष्यों को पूरा करने के लिए एक लचीली वास्तुकला बनाने के लिए नवाचार किया।
समाधान अवलोकन
समाधान का उपयोग करता है AWS लाम्बा प्राथमिक क्षेत्र में काइनेसिस डेटा स्ट्रीम से डेटा को द्वितीयक क्षेत्र में दोहराने के लिए। सीडीसी पाइपलाइन को प्रभावित करने वाली किसी भी सेवा हानि की स्थिति में, फ़ेलओवर प्रक्रिया उत्पादकों और उपभोक्ताओं के लिए द्वितीयक क्षेत्र को प्राथमिक क्षेत्र में बढ़ावा देती है। हम उपयोग करते हैं Amazon DynamoDB वैश्विक तालिकाएँ प्रतिकृति चौकियों के लिए जो चेकपॉइंट से डेटा स्ट्रीमिंग को फिर से शुरू करने की अनुमति देता है और एक प्राथमिक क्षेत्र कॉन्फ़िगरेशन ध्वज भी बनाए रखता है जो समान डेटा के अनंत प्रतिकृति लूप को आगे और पीछे रोकता है।
समाधान काइनेसिस डेटा स्ट्रीम उपभोक्ताओं को एक ही AWS खाते के भीतर प्राथमिक या किसी द्वितीयक क्षेत्र का उपयोग करने की सुविधा भी प्रदान करता है।
निम्नलिखित चित्र संदर्भ वास्तुकला को दर्शाता है।
आइए प्रत्येक घटक को विस्तार से देखें:
- सीडीसी प्रोसेसर (निर्माता) - इस संदर्भ वास्तुकला में, निर्माता को तैनात किया गया है अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (अमेज़ॅन EC2) प्राथमिक और माध्यमिक दोनों क्षेत्रों में, और प्राथमिक क्षेत्र में और माध्यमिक क्षेत्र में स्टैंडबाय मोड पर सक्रिय है। यह बाहरी डेटा स्रोत से सीडीसी डेटा कैप्चर करता है (जैसे डीबी2 डेटाबेस जैसा कि ऊपर आर्किटेक्चर में दिखाया गया है), और प्राथमिक क्षेत्र में किनेसिस डेटा स्ट्रीम में स्ट्रीम करता है। वैनगार्ड 3 का उपयोग करता हैrd पार्टी टूल Qlik Replication उनके सीडीसी प्रोसेसर के रूप में। यह दूरस्थ डेटा स्रोत से वास्तविक पंक्ति डेटा के अलावा, काइनेसिस डेटा स्ट्रीम के लिए DB2 प्रतिबद्ध टाइमस्टैम्प सहित एक अच्छी तरह से गठित पेलोड का उत्पादन करता है। (
example-stream-1
इस उदाहरण में)। निम्नलिखित कोड एक नमूना पेलोड है जिसमें केवल उस रिकॉर्ड की प्राथमिक कुंजी शामिल है जो बदल गई है और प्रतिबद्ध टाइमस्टैम्प (सरलता के लिए, शेष तालिका पंक्ति डेटा नीचे नहीं दिखाया गया है):{ "eventSource": "aws:kinesis", "kinesis": { "ApproximateArrivalTimestamp": "Mon July 18 20:00:00 UTC 2022", "SequenceNumber": "49544985256907370027570885864065577703022652638596431874", "PartitionKey": "12349999", "KinesisSchemaVersion": "1.0", "Data": "eyJLZXkiOiAxMjM0OTk5OSwiQ29tbWl0VGltZXN0YW1wIjogIjIwMjItMDctMThUMjA6MDA6MDAifQ==" }, "eventId": "shardId-000000000000:49629136582982516722891309362785181370337771525377097730", "invokeIdentityArn": "arn:aws:iam::6243876582:role/kds-crr-LambdaRole-1GZWP67437SD", "eventName": "aws:kinesis:record", "eventVersion": "1.0", "eventSourceARN": "arn:aws:kinesis:us-east-1:6243876582:stream/kds-stream-1/consumer/kds-crr:6243876582", "awsRegion": "us-east-1" }
Base64 का डिकोड किया गया मान
Data
इस प्रकार है। वास्तविक किनेसिस रिकॉर्ड में प्राथमिक कुंजी और कमिट टाइमस्टैम्प के अलावा, परिवर्तित तालिका पंक्ति का संपूर्ण पंक्ति डेटा शामिल होगा।{"Key": 12349999,"CommitTimestamp": "2022-07-18T20:00:00"}
RSI
CommitTimestamp
मेंData
फ़ील्ड का उपयोग प्रतिकृति चेकपॉइंट में किया जाता है और यह सटीक रूप से ट्रैक करने के लिए महत्वपूर्ण है कि स्ट्रीम डेटा का कितना भाग द्वितीयक क्षेत्र में दोहराया गया है। चेकपॉइंट का उपयोग सीडीसी प्रोसेसर (निर्माता) फेलओवर की सुविधा के लिए किया जा सकता है और प्रतिकृति चेकपॉइंट टाइमस्टैम्प से सटीक रूप से डेटा का उत्पादन फिर से शुरू किया जा सकता है।दूरस्थ डेटा स्रोत का उपयोग करने का विकल्प
CommitTimestamp
(यदि उपलब्ध नहीं है) का उपयोग करना हैApproximateArrivalTimestamp
(जो टाइमस्टैम्प है जब रिकॉर्ड वास्तव में डेटा स्ट्रीम पर लिखा जाता है)। - क्रॉस-रीजन प्रतिकृति लैम्ब्डा फ़ंक्शन - फ़ंक्शन को प्राथमिक और माध्यमिक दोनों क्षेत्रों में तैनात किया गया है। इसे सीडीसी डेटा वाले डेटा स्ट्रीम के लिए इवेंट सोर्स मैपिंग के साथ सेट किया गया है। एक ही फ़ंक्शन का उपयोग एकाधिक स्ट्रीम के डेटा को दोहराने के लिए किया जा सकता है। इसे किनेसिस डेटा स्ट्रीम से रिकॉर्ड के एक बैच के साथ लागू किया जाता है और बैच को लक्ष्य प्रतिकृति क्षेत्र (जो लैम्ब्डा कॉन्फ़िगरेशन वातावरण के माध्यम से प्रदान किया जाता है) में दोहराया जाता है। लागत विचार के लिए, यदि सीडीसी डेटा सक्रिय रूप से केवल प्राथमिक क्षेत्र में उत्पादित किया जाता है, तो द्वितीयक क्षेत्र में फ़ंक्शन की आरक्षित समवर्तीता को शून्य पर सेट किया जा सकता है, और क्षेत्रीय विफलता के दौरान संशोधित किया जा सकता है। समारोह है AWS पहचान और अभिगम प्रबंधन (IAM) भूमिका अनुमतियाँ निम्नलिखित करने के लिए:
- इस समाधान में प्रयुक्त DynamoDB वैश्विक तालिकाओं को एक ही खाते में पढ़ें और लिखें।
- एक ही खाते में दोनों क्षेत्रों में किनेसिस डेटा स्ट्रीम को पढ़ें और लिखें।
- पर कस्टम मेट्रिक्स प्रकाशित करें अमेज़ॅन क्लाउडवॉच दोनों क्षेत्रों में एक ही खाते में।
- प्रतिकृति जांच चौकी - प्रतिकृति चेकपॉइंट प्राथमिक और माध्यमिक दोनों क्षेत्रों में DynamoDB वैश्विक तालिका का उपयोग करता है। इसका उपयोग क्रॉस-रीजन प्रतिकृति लैम्ब्डा फ़ंक्शन द्वारा प्रतिकृति के लिए कॉन्फ़िगर की गई प्रत्येक स्ट्रीम के लिए प्रतिकृति चेकपॉइंट के रूप में अंतिम प्रतिकृति रिकॉर्ड के प्रतिबद्ध टाइमस्टैम्प को बनाए रखने के लिए किया जाता है। इस पोस्ट के लिए, हम नामक एक वैश्विक तालिका बनाते हैं और उसका उपयोग करते हैं
kdsReplicationCheckpoint
. - सक्रिय क्षेत्र कॉन्फिगरेशन - सक्रिय क्षेत्र प्राथमिक और माध्यमिक दोनों क्षेत्रों में DynamoDB वैश्विक तालिका का उपयोग करता है। यह कॉन्फ़िगरेशन को दोहराने के लिए वैश्विक तालिका की मूल क्रॉस-रीजन प्रतिकृति क्षमता का उपयोग करता है। स्टैंडबाय क्षेत्र में लैम्ब्डा फ़ंक्शन द्वारा प्राथमिक क्षेत्र में प्रतिकृति को रोकने के लिए, स्ट्रीम के लिए प्राथमिक क्षेत्र कौन सा है, इसके बारे में डेटा पहले से भरा हुआ है। यदि स्टैंडबाय क्षेत्र में लैम्ब्डा फ़ंक्शन में आरक्षित समवर्ती शून्य पर सेट है, तो इस कॉन्फ़िगरेशन की आवश्यकता नहीं हो सकती है, लेकिन डेटा के अनंत प्रतिकृति लूप से बचने के लिए सुरक्षा जांच के रूप में काम कर सकता है। इस पोस्ट के लिए, हम एक वैश्विक तालिका बनाते हैं जिसे कहा जाता है
kdsActiveRegionConfig
और निम्नलिखित डेटा के साथ एक आइटम डालें:{ "stream-name": "example-stream-1", "active-region" : "us-east-1" }
- किनेसिस डेटा स्ट्रीम - वह स्ट्रीम जिससे सीडीसी प्रोसेसर डेटा उत्पन्न करता है। इस पोस्ट के लिए, हम नामक स्ट्रीम का उपयोग करते हैं
example-stream-1
दोनों क्षेत्रों में, समान शार्ड कॉन्फ़िगरेशन और एक्सेस नीतियों के साथ।
क्रॉस-रीजन प्रतिकृति में चरणों का क्रम
आइए संक्षेप में देखें कि निम्नलिखित अनुक्रम आरेख का उपयोग करके वास्तुकला का प्रयोग कैसे किया जाता है।
अनुक्रम में निम्नलिखित चरण शामिल हैं:
- सीडीसी प्रोसेसर (इंच)
us-east-1
) दूरस्थ डेटा स्रोत से सीडीसी डेटा पढ़ता है। - सीडीसी प्रोसेसर (इंच)
us-east-1
) सीडीसी डेटा को किनेसिस डेटा स्ट्रीम (इन) में स्ट्रीम करता हैus-east-1
). - क्रॉस-रीजन प्रतिकृति लैम्ब्डा फ़ंक्शन (यूएस-ईस्ट-1 में) डेटा स्ट्रीम से डेटा का उपभोग करता है (में)
us-east-1
). क्रॉस-रीजन प्रतिकृति के लिए समर्पित और बढ़े हुए थ्रूपुट के लिए उन्नत फैन-आउट पैटर्न की सिफारिश की जाती है। - रेप्लिकेटर लैम्ब्डा फ़ंक्शन (इंच)
us-east-1
) की सहायता से उपभोग की जा रही धारा के लिए सक्रिय क्षेत्र विन्यास के साथ अपने वर्तमान क्षेत्र को मान्य करता हैkdsActiveRegionConfig
DynamoDB वैश्विक तालिका निम्नलिखित नमूना कोड (जावा में) मूल्यांकन की जा रही स्थिति को दर्शाने में मदद कर सकता है:// Fetch the current AWS Region from the Lambda function’s environment String currentAWSRegion = System.getenv(“AWS_REGION”); // Read the stream name from the first Kinesis Record once for the entire batch being processed. This is done because we are reusing the same Lambda function for replicating multiple streams. String currentStreamNameConsumed = kinesisRecord.getEventSourceARN().split(“:”)[5].split(“/”)[1]; // Build the DynamoDB query condition using the stream name Map<String, Condition> keyConditions = singletonMap(“streamName”, Condition.builder().comparisonOperator(EQ).attributeValueList(AttributeValue.builder().s(currentStreamNameConsumed).build()).build()); // Query the DynamoDB Global Table QueryResponse queryResponse = ddbClient.query(QueryRequest.builder().tableName("kdsActiveRegionConfig").keyConditions(keyConditions).attributesToGet(“ActiveRegion”).build());
- फ़ंक्शन निम्नलिखित कोड के साथ DynamoDB से प्रतिक्रिया का मूल्यांकन करता है:
// Evaluate the response if (queryResponse.hasItems()) { AttributeValue activeRegionForStream = queryResponse.items().get(0).get(“ActiveRegion”); return currentAWSRegion.equalsIgnoreCase(activeRegionForStream.s()); }
- प्रतिक्रिया के आधार पर, फ़ंक्शन निम्नलिखित क्रियाएं करता है:
- यदि प्रतिक्रिया है
true
, रेप्लिकेटर फ़ंक्शन किनेसिस डेटा स्ट्रीम में रिकॉर्ड तैयार करता हैus-east-2
क्रमबद्ध तरीके से.- यदि कोई विफलता होती है, तो रिकॉर्ड की अनुक्रम संख्या को ट्रैक किया जाता है और पुनरावृत्ति टूट जाती है। फ़ंक्शन विफल अनुक्रम संख्याओं की सूची लौटाता है। विफल अनुक्रम संख्या लौटाकर, समाधान की सुविधा का उपयोग करता है लैम्ब्डा चेकपॉइंटिंग आंशिक विफलताओं के साथ रिकॉर्ड के एक बैच के प्रसंस्करण को फिर से शुरू करने में सक्षम होना। यह किसी भी सेवा हानि से निपटने के लिए उपयोगी है, जहां फ़ंक्शन स्ट्रीम समता और कोई डेटा हानि सुनिश्चित करने के लिए क्षेत्रों में डेटा को दोहराने की कोशिश करता है।
- यदि कोई विफलता नहीं है, तो एक खाली सूची लौटा दी जाती है, जो इंगित करती है कि बैच सफल था।
- यदि प्रतिक्रिया है
false
, रेप्लिकेटर फ़ंक्शन बिना कोई प्रतिकृति निष्पादित किए वापस आ जाता है। लैम्ब्डा इनवोकेशन की लागत को कम करने के लिए, आप डीआर क्षेत्र में फ़ंक्शन की आरक्षित समवर्तीता सेट कर सकते हैं (us-east-2
) शून्य तक. यह फ़ंक्शन को लागू होने से रोकेगा। जब आप विफल हो जाते हैं, तो आप सीडीसी थ्रूपुट के आधार पर इस मान को उचित संख्या में अपडेट कर सकते हैं और फ़ंक्शन की आरक्षित समवर्तीता सेट कर सकते हैंus-east-1
इसे अनावश्यक रूप से क्रियान्वित होने से रोकने के लिए शून्य करें।
- यदि प्रतिक्रिया है
- सभी रिकॉर्ड काइनेसिस डेटा स्ट्रीम में तैयार होने के बाद
us-east-2
, रेप्लिकेटर फ़ंक्शन चौकियों कोkdsReplicationCheckpoint
DynamoDB वैश्विक तालिका (इंच)us-east-1
) निम्नलिखित डेटा के साथ:{ "streamName": "example-stream-1", "lastReplicatedTimestamp": "2022-07-18T20:00:00" }
- रिकॉर्ड के बैच को सफलतापूर्वक संसाधित करने के बाद फ़ंक्शन वापस आ जाता है।
प्रदर्शन के विचार
समाधान की प्रदर्शन अपेक्षाओं को निम्नलिखित कारकों के संबंध में समझा जाना चाहिए:
- क्षेत्र चयन - प्रतिकृति विलंबता डेटा द्वारा तय की गई दूरी के सीधे आनुपातिक है, इसलिए अपने क्षेत्र चयन को समझें
- वेग - डेटा का आने वाला वेग या दोहराए जाने वाले डेटा की मात्रा
- पेलोड का आकार - पेलोड का आकार दोहराया जा रहा है
क्रॉस-रीजन प्रतिकृति की निगरानी करें
प्रतिकृति के घटित होने पर उसे ट्रैक करने और उसका निरीक्षण करने की अनुशंसा की जाती है। आप प्रत्येक आमंत्रण के अंत में निम्नलिखित मेट्रिक्स के साथ क्लाउडवॉच पर कस्टम मेट्रिक्स प्रकाशित करने के लिए लैम्ब्डा फ़ंक्शन को अनुकूलित कर सकते हैं। इन मेट्रिक्स को प्राथमिक और माध्यमिक दोनों क्षेत्रों में प्रकाशित करने से प्राथमिक क्षेत्र में अवलोकन क्षमता को प्रभावित करने वाली हानियों से खुद को बचाने में मदद मिलती है।
- प्रवाह - वर्तमान लैम्ब्डा मंगलाचरण बैच का आकार
- प्रतिकृतिLagSeconds - वर्तमान टाइमस्टैम्प (सभी रिकॉर्ड संसाधित करने के बाद) और के बीच का अंतर
ApproximateArrivalTimestamp
पिछले रिकॉर्ड का जिसे दोहराया गया था
निम्नलिखित उदाहरण क्लाउडवॉच मीट्रिक ग्राफ़ से पता चलता है कि औसत प्रतिकृति अंतराल 2 सेकंड था जिसमें 100 रिकॉर्ड की प्रतिकृति थी us-east-1
सेवा मेरे us-east-2
.
सामान्य विफलता रणनीति
प्राथमिक क्षेत्र में सीडीसी पाइपलाइन को प्रभावित करने वाली किसी भी हानि के दौरान, व्यापार निरंतरता या आपदा पुनर्प्राप्ति आवश्यकताएं माध्यमिक (स्टैंडबाय) क्षेत्र में पाइपलाइन विफलता को निर्देशित कर सकती हैं। इसका मतलब है कि इस विफलता प्रक्रिया के हिस्से के रूप में कुछ चीजें करने की आवश्यकता है:
- यदि संभव हो, तो सीडीसी प्रोसेसर टूल में सभी सीडीसी कार्यों को रोक दें
us-east-1
. - सीडीसी प्रोसेसर को द्वितीयक क्षेत्र में विफल किया जाना चाहिए, ताकि वह स्टैंडबाय क्षेत्र से बाहर संचालन करते समय दूरस्थ डेटा स्रोत से सीडीसी डेटा पढ़ सके।
- RSI
kdsActiveRegionConfig
DynamoDB वैश्विक तालिका को अद्यतन करने की आवश्यकता है। उदाहरण के लिए, स्ट्रीम के लिएexample-stream-1
हमारे उदाहरण में प्रयुक्त, सक्रिय क्षेत्र को बदल दिया गया हैus-east-2
:
{ "stream-name": "example-stream-1", "active-Region" : "us-east-2"
}
- सभी स्ट्रीम चौकियों को पढ़ने की आवश्यकता है
kdsReplicationCheckpoint
DynamoDB वैश्विक तालिका (इंच)us-east-2
), और प्रत्येक चेकपॉइंट के टाइमस्टैम्प का उपयोग निर्माता टूल में सीडीसी कार्यों को शुरू करने के लिए किया जाता हैus-east-2
क्षेत्र। इससे डेटा हानि की संभावना कम हो जाती है और चेकपॉइंट टाइमस्टैम्प से दूरस्थ डेटा स्रोत से सीडीसी डेटा की स्ट्रीमिंग सटीक रूप से फिर से शुरू हो जाती है। - यदि लैम्ब्डा आमंत्रणों को नियंत्रित करने के लिए आरक्षित संगामिति का उपयोग किया जाता है, तो प्राथमिक क्षेत्र में मान को शून्य पर सेट करें(
us-east-1
) और द्वितीयक क्षेत्र में एक उपयुक्त गैर-शून्य मान के लिए(us-east-2
).
वैनगार्ड की बहु-चरणीय विफलता रणनीति
वैनगार्ड द्वारा उपयोग किए जाने वाले कुछ तृतीय-पक्ष टूल में दूरस्थ डेटा स्रोत से गंतव्य तक डेटा स्ट्रीम करने की दो-चरणीय सीडीसी प्रक्रिया होती है। अपने सीडीसी प्रोसेसर के लिए वैनगार्ड का पसंदीदा उपकरण इस दो-चरणीय दृष्टिकोण का अनुसरण करता है:
- पहले चरण में एक लॉग स्ट्रीम कार्य स्थापित करना शामिल है जो दूरस्थ डेटा स्रोत से डेटा पढ़ता है और स्टेजिंग स्थान पर बना रहता है।
- दूसरे चरण में व्यक्तिगत उपभोक्ता कार्यों को स्थापित करना शामिल है जो स्टेजिंग स्थान से डेटा पढ़ता है - जो चालू हो सकता है अमेज़ॅन इलास्टिक फ़ाइल सिस्टम (अमेज़ॅन ईएफएस) या अमेज़न FSx, उदाहरण के लिए—और इसे गंतव्य पर स्ट्रीम करें। यहां लचीलापन यह है कि इनमें से प्रत्येक उपभोक्ता कार्य को अलग-अलग प्रतिबद्ध टाइमस्टैम्प से स्ट्रीम करने के लिए ट्रिगर किया जा सकता है। लॉग स्ट्रीम कार्य आमतौर पर उपभोक्ता कार्यों द्वारा उपयोग किए जाने वाले सभी प्रतिबद्ध टाइमस्टैम्प में से न्यूनतम से डेटा पढ़ना शुरू करता है।
आइए परिदृश्य को समझाने के लिए एक उदाहरण देखें:
- उपभोक्ता कार्य A एक प्रतिबद्ध टाइमस्टैम्प 2022-07-19T20:00:00 से आगे तक डेटा स्ट्रीम कर रहा है
example-stream-1
. - उपभोक्ता कार्य बी एक प्रतिबद्ध टाइमस्टैम्प 2022-07-19T21:00:00 से डेटा स्ट्रीम कर रहा है
example-stream-2
. - इस स्थिति में, लॉग स्ट्रीम को उपभोक्ता कार्यों द्वारा उपयोग किए जाने वाले न्यूनतम टाइमस्टैम्प से दूरस्थ डेटा स्रोत से डेटा पढ़ना चाहिए, जो कि 2022-07-19T20:00:00 है।
निम्नलिखित अनुक्रम आरेख विफलता के दौरान चलने वाले सटीक चरणों को दर्शाता है us-east-2
(स्टैंडबाय क्षेत्र)।
निम्नानुसार कदम हैं:
- फ़ेलओवर प्रक्रिया स्टैंडबाय क्षेत्र में शुरू हो गई है (
us-east-2
इस उदाहरण में) जब आवश्यक हो। ध्यान दें कि प्राथमिक क्षेत्र में पाइपलाइन की व्यापक स्वास्थ्य जांच का उपयोग करके ट्रिगर को स्वचालित किया जा सकता है। - फ़ेलओवर प्रक्रिया kdsActiveRegionConfig DynamoDB वैश्विक तालिका को क्षेत्र के लिए नए मान के साथ अद्यतन करती है
us-east-2
सभी स्ट्रीम नामों के लिए. - अगला कदम सभी स्ट्रीम चौकियों को लाना है
kdsReplicationCheckpoint
DynamoDB वैश्विक तालिका (इंच)us-east-2
). - चेकपॉइंट जानकारी पढ़ने के बाद, फ़ेलओवर प्रक्रिया सभी का न्यूनतम पता लगाती है
lastReplicatedTimestamp
. - सीडीसी प्रोसेसर टूल में लॉग स्ट्रीम कार्य प्रारंभ किया गया है
us-east-2
चरण 4 में पाए गए टाइमस्टैम्प के साथ। यह इस टाइमस्टैम्प से दूरस्थ डेटा स्रोत से सीडीसी डेटा पढ़ना शुरू करता है और उन्हें एडब्ल्यूएस पर स्टेजिंग स्थान पर रखता है। - अगला कदम स्टेजिंग स्थान से डेटा को पढ़ने और गंतव्य डेटा स्ट्रीम में स्ट्रीम करने के लिए सभी उपभोक्ता कार्यों को शुरू करना है। यह वह जगह है जहां से प्रत्येक उपभोक्ता कार्य को उचित टाइमस्टैम्प प्रदान किया जाता है
kdsReplicationCheckpoint
तालिका के अनुसारstreamName
जिस पर कार्य डेटा स्ट्रीम करता है।
सभी उपभोक्ता कार्य शुरू होने के बाद, यूएस-ईस्ट-2 में काइनेसिस डेटा स्ट्रीम में डेटा तैयार किया जाता है। वहां से, क्रॉस-रीजन प्रतिकृति की प्रक्रिया वही है जो पहले वर्णित है - प्रतिकृति लैम्ब्डा फ़ंक्शन us-east-2
डेटा स्ट्रीम में डेटा की प्रतिकृति बनाना प्रारंभ करता है us-east-1
.
स्ट्रीम से डेटा पढ़ने वाले उपभोक्ता अनुप्रयोगों से डुप्लिकेट को संभालने में सक्षम होने की उम्मीद की जाती है। डुप्लिकेट को कई कारणों से स्ट्रीम में पेश किया जा सकता है, जिनमें से कुछ को नीचे बुलाया गया है।
- फेलओवर के दौरान सीडीसी डेटा को दोबारा चलाते समय निर्माता या सीडीसी प्रोसेसर स्ट्रीम में डुप्लिकेट पेश करता है
- DynamoDB ग्लोबल टेबल सभी क्षेत्रों में डेटा की अतुल्यकालिक प्रतिकृति का उपयोग करती है और यदि
kdsReplicationCheckpoint
तालिका डेटा में प्रतिकृति अंतराल है, फ़ेलओवर प्रक्रिया संभावित रूप से सीडीसी डेटा को फिर से चलाने के लिए पुराने चेकपॉइंट टाइमस्टैम्प का उपयोग कर सकती है।
साथ ही, उपभोक्ता अनुप्रयोगों को उपभोग किए गए अंतिम रिकॉर्ड के कमिटटाइमस्टैंप की जांच करनी चाहिए। यह बेहतर निगरानी और पुनर्प्राप्ति की सुविधा प्रदान करने के लिए है।
परिपक्वता का मार्ग: स्वचालित पुनर्प्राप्ति
आदर्श स्थिति फेलओवर प्रक्रिया को पूरी तरह से स्वचालित करना, पुनर्प्राप्ति के लिए समय कम करना और लचीलापन सेवा स्तर उद्देश्य (एसएलओ) को पूरा करना है। हालाँकि, अधिकांश संगठनों में, विफल होने, वापस विफल होने और विफलता को ट्रिगर करने के निर्णय के लिए स्थिति का आकलन करने और परिणाम तय करने में मैन्युअल हस्तक्षेप की आवश्यकता होती है। फेलओवर को निष्पादित करने के लिए स्क्रिप्टेड ऑटोमेशन बनाना जिसे मानव द्वारा चलाया जा सके, शुरुआत करने के लिए एक अच्छी जगह है।
वैनगार्ड ने फ़ेलओवर के सभी चरणों को स्वचालित कर दिया है, लेकिन इसे कब लागू करना है इसका निर्णय अभी भी मनुष्यों को करना है। आप अपनी आवश्यकताओं को पूरा करने के लिए और अपने वातावरण में उपयोग किए जाने वाले सीडीसी प्रोसेसर टूल के आधार पर समाधान को अनुकूलित कर सकते हैं।
निष्कर्ष
इस पोस्ट में, हमने बताया कि कैसे वैनगार्ड ने डेटा को अत्यधिक उपलब्ध कराने के लिए किनेसिस डेटा स्ट्रीम में सभी क्षेत्रों में डेटा की प्रतिकृति बनाने के लिए एक समाधान का आविष्कार और निर्माण किया। जरूरत पड़ने पर प्रतिकृति प्रक्रिया की क्षेत्रीय विफलता को सुविधाजनक बनाने के लिए हमने एक मजबूत चेकपॉइंट रणनीति का भी प्रदर्शन किया। समाधान में यह भी बताया गया है कि प्रतिकृति चौकियों और कॉन्फ़िगरेशन को ट्रैक करने के लिए DynamoDB वैश्विक तालिकाओं का उपयोग कैसे करें। इस वास्तुकला के साथ, वैनगार्ड प्राथमिक क्षेत्र में सीडीसी पाइपलाइनों को प्रभावित करने वाली सेवा हानि की स्थिति में उच्च उपलब्धता की व्यावसायिक जरूरतों को पूरा करने के लिए सीडीसी डेटा के आधार पर कई क्षेत्रों में कार्यभार तैनात करने में सक्षम था।
यदि आपके पास कोई प्रतिक्रिया है तो कृपया नीचे टिप्पणी अनुभाग में एक टिप्पणी छोड़ें।
लेखक के बारे में
रघु बोपन्ना वेनगार्ड के मुख्य प्रौद्योगिकी कार्यालय में एंटरप्राइज आर्किटेक्ट के रूप में काम करते हैं। रघु डेटा एनालिटिक्स, सीडीसी पाइपलाइन, डिजास्टर रिकवरी और डेटाबेस सहित डेटा माइग्रेशन/प्रतिकृति में माहिर हैं। उन्होंने AWS प्रमाणित सुरक्षा - विशेषता और AWS प्रमाणित डेटा एनालिटिक्स - विशेषता सहित कई AWS प्रमाणपत्र अर्जित किए हैं।
परमेश्वरन वी वैद्यनाथन अमेज़ॅन वेब सर्विसेज के साथ एक वरिष्ठ क्लाउड रेजिलिएंस आर्किटेक्ट हैं। वह AWS क्लाउड पर स्केलेबल और लचीले समाधानों की वास्तुकला और निर्माण करके बड़े उद्यमों को व्यावसायिक लक्ष्य हासिल करने में मदद करता है।
ऋचा कौल वित्तीय सेवा ग्राहकों को सेवा प्रदान करने वाले ग्राहक समाधानों में एक वरिष्ठ नेता हैं। वह न्यूयॉर्क में स्थित है। उनके पास बड़े पैमाने पर क्लाउड परिवर्तन, कर्मचारी उत्कृष्टता और अगली पीढ़ी के डिजिटल समाधानों में व्यापक अनुभव है। वह और उनकी टीम परफॉर्मेंट, लचीले और फुर्तीले समाधान बनाकर क्लाउड के मूल्य को अनुकूलित करने पर ध्यान केंद्रित करती है। ऋचा को ट्रायथलॉन, संगीत और नई तकनीकों के बारे में सीखने जैसे कई खेलों का आनंद मिलता है।
मिथिल प्रसाद अमेज़ॅन वेब सर्विसेज में एक प्रमुख ग्राहक समाधान प्रबंधक हैं। अपनी भूमिका में, मिथिल क्लाउड मूल्य प्राप्ति को बढ़ावा देने, व्यवसायों को गति, चपलता और नवीनता प्राप्त करने में मदद करने के लिए विचार नेतृत्व प्रदान करने के लिए ग्राहकों के साथ काम करता है।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- स्रोत: https://aws.amazon.com/blogs/big-data/how-vanguard-made-their-technology-platform-resilient-and-efficient-by-building-cross-region-replication-for-amazon-kinesis-data-streams/
- 1
- 100
- 2022
- 28
- a
- क्षमता
- योग्य
- About
- ऊपर
- पहुँच
- अनुसार
- लेखा
- सही रूप में
- पाना
- के पार
- कार्रवाई
- सक्रिय
- सक्रिय रूप से
- वास्तव में
- इसके अलावा
- सलाह
- प्रभावित करने वाले
- सस्ती
- बाद
- के खिलाफ
- चुस्त
- सब
- की अनुमति देता है
- वैकल्पिक
- वीरांगना
- अमेज़ॅन EC2
- अमेज़ॅन किनिस
- अमेज़ॅन वेब सेवा
- राशियाँ
- विश्लेषिकी
- और
- अनुप्रयोगों
- दृष्टिकोण
- उपयुक्त
- स्थापत्य
- को स्वचालित रूप से
- स्वचालित
- स्वचालन
- उपलब्धता
- उपलब्ध
- औसत
- से बचने
- एडब्ल्यूएस
- एडब्ल्यूएस प्रमाणित
- वापस
- आधारित
- क्योंकि
- जा रहा है
- नीचे
- बेहतर
- के बीच
- संक्षिप्त
- टूटा
- निर्माण
- इमारत
- बनाया गया
- में निर्मित
- व्यापार
- व्यावसायिक निरंतरता
- व्यवसायों
- बुलाया
- कब्जा
- कब्जा
- मामला
- सीडीसी
- प्रमाणपत्र
- प्रमाणित
- संभावना
- परिवर्तन
- चेक
- जाँचता
- प्रमुख
- चुनाव
- बादल
- बादल प्रौद्योगिकी
- कोड
- टिप्पणी
- टिप्पणियाँ
- करना
- अंग
- व्यापक
- गणना करना
- शर्त
- विन्यास
- विचार
- प्रयुक्त
- उपभोक्ता
- उपभोक्ताओं
- खपत
- लगातार
- नियंत्रण
- लागत
- सका
- युगल
- बनाना
- बनाना
- महत्वपूर्ण
- वर्तमान
- वर्तमान में
- रिवाज
- ग्राहक
- ग्राहक समाधान
- ग्राहक
- अनुकूलित
- तिथि
- डेटा विश्लेषण
- डेटा हानि
- डाटाबेस
- डेटाबेस
- निर्णय लेने से
- निर्णय
- समर्पित
- साबित
- दर्शाता
- निर्भर करता है
- निर्भर करता है
- तैनात
- तैनात
- वर्णित
- गंतव्य
- विस्तार
- अंतर
- विभिन्न
- डिजिटल
- सीधे
- आपदा
- चर्चा की
- दूरी
- ड्राइव
- ड्राइविंग
- डुप्लिकेट
- दौरान
- से प्रत्येक
- पूर्व
- अर्जित
- अर्थव्यवस्थाओं
- पैमाने की अर्थव्यवस्थाएं
- कुशल
- कर्मचारी
- सक्षम बनाता है
- वर्धित
- सुनिश्चित
- उद्यम
- उद्यम
- संपूर्ण
- वातावरण
- ईथर (ईटीएच)
- मूल्यांकन करें
- मूल्यांकित
- कार्यक्रम
- प्रत्येक
- उदाहरण
- उत्कृष्टता
- को क्रियान्वित
- उम्मीदों
- अपेक्षित
- अनुभव
- समझाना
- बताते हैं
- व्यापक
- बाहरी
- चेहरा
- की सुविधा
- कारकों
- असफल
- विफल रहे
- विफलता
- Feature
- प्रतिक्रिया
- खेत
- पट्टिका
- वित्तीय
- वित्तीय सेवाओं
- पाता
- प्रथम
- लचीलापन
- फोकस
- निम्नलिखित
- इस प्रकार है
- निवेशकों के लिए
- पाया
- से
- पूरी तरह से
- समारोह
- पीढ़ी
- वैश्विक
- ग्लोब
- लक्ष्यों
- अच्छा
- ग्राफ
- अतिथि
- अतिथि पोस्ट
- संभालना
- हैंडलिंग
- हो जाता
- स्वास्थ्य
- मदद
- मदद करता है
- यहाँ उत्पन्न करें
- हाई
- अत्यधिक
- कैसे
- How To
- तथापि
- HTTPS
- मानव
- मनुष्य
- आई ए एम
- आदर्श
- पहचान
- हानि
- में सुधार
- सुधार
- in
- सहित
- आवक
- वृद्धि हुई
- इंगित करता है
- व्यक्ति
- करें-
- इंफ्रास्ट्रक्चर
- नवोन्मेष
- उदाहरण
- हस्तक्षेप
- शुरू की
- द्वारा प्रस्तुत
- निवेशक
- निवेशक
- शामिल
- IT
- यात्रा
- जावा
- जुलाई
- कुंजी
- किनेसिस डेटा स्ट्रीम
- बड़ा
- पिछली बार
- विलंब
- नेता
- नेतृत्व
- सीख रहा हूँ
- छोड़ना
- स्तर
- लाइन
- पंक्तियां
- सूची
- थोड़ा
- स्थान
- देखिए
- बंद
- बनाया गया
- का कहना है
- बनाना
- बनाता है
- कामयाब
- प्रबंधक
- ढंग
- गाइड
- बहुत
- मानचित्रण
- बड़े पैमाने पर
- परिपक्वता
- साधन
- तंत्र
- मिलना
- बैठक
- मीट्रिक
- मेट्रिक्स
- कम से कम
- न्यूनतम
- मोड
- संशोधित
- निगरानी
- अधिकांश
- बहु
- विभिन्न
- संगीत
- नाम
- नामों
- देशी
- आवश्यकता
- जरूरत
- की जरूरत है
- नया
- नयी तकनीकें
- न्यूयॉर्क
- अगला
- संख्या
- संख्या
- उद्देश्य
- निरीक्षण
- Office
- परिचालन
- के अनुकूलन के
- संगठनों
- परिणाम
- समानता
- भाग
- भागीदारी
- पार्टी
- पैटर्न
- निष्पादन
- प्रदर्शन
- प्रदर्शन
- अनुमतियाँ
- बनी रहती है
- निजीकृत
- पाइपलाइन
- जगह
- मंच
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- कृप्या अ
- नीतियाँ
- संभव
- पद
- संभावित
- को रोकने के
- प्राथमिक
- प्रिंसिपल
- प्रक्रिया
- प्रसंस्करण
- प्रोसेसर
- प्रस्तुत
- उत्पादक
- प्रोड्यूसर्स
- को बढ़ावा देता है
- रक्षा करना
- प्रदान करना
- बशर्ते
- प्रदान करता है
- प्रकाशित करना
- प्रकाशन
- प्रयोजनों
- रखना
- पढ़ना
- पढ़ना
- वसूली
- कारण
- की सिफारिश की
- रिकॉर्ड
- अभिलेख
- की वसूली
- वसूली
- को कम करने
- को कम करने
- क्षेत्र
- क्षेत्रीय
- क्षेत्रों
- दूरस्थ
- दोहराया
- प्रतिकृति
- प्रतिकृति
- अपेक्षित
- आवश्यकताएँ
- की आवश्यकता होती है
- आरक्षित
- पलटाव
- लचीला
- प्रतिक्रिया
- बाकी
- बायोडाटा
- वापसी
- लौटने
- रिटर्न
- मजबूत
- भूमिका
- लुढ़का हुआ
- आरओडब्ल्यू
- रन
- सुरक्षा
- वही
- स्केलेबल
- स्केल
- परिदृश्य
- दूसरा
- माध्यमिक
- सेकंड
- अनुभाग
- सुरक्षा
- वरिष्ठ
- अनुक्रम
- सेवा
- सेवा
- सेवाएँ
- सेवारत
- सेट
- की स्थापना
- कई
- चाहिए
- दिखाया
- दिखाता है
- सादगी
- स्थिति
- आकार
- So
- समाधान
- समाधान ढूंढे
- कुछ
- स्रोत
- सूत्रों का कहना है
- माहिर
- विशेषता
- गति
- खेल-कूद
- मचान
- प्रारंभ
- शुरू
- शुरू होता है
- राज्य
- कदम
- कदम
- फिर भी
- रुकें
- की दुकान
- स्ट्रेटेजी
- धारा
- स्ट्रीमिंग
- स्ट्रीमिंग सेवा
- नदियों
- सफल
- सफलतापूर्वक
- उपयुक्त
- बेहतर
- आपूर्ति
- समर्थन करता है
- प्रणाली
- तालिका
- लेता है
- लक्ष्य
- कार्य
- कार्य
- टीम
- टीमों
- तकनीकी
- टेक्नोलॉजीज
- टेक्नोलॉजी
- RSI
- लेकिन हाल ही
- चीज़ें
- तीसरे दल
- विचार
- वैचारिक नेतृत्व
- यहाँ
- THROUGHPUT
- पहर
- टाइमस्टैम्प
- सेवा मेरे
- साधन
- उपकरण
- ट्रैक
- ट्रैकिंग
- परिवर्तन
- कूच
- ट्रिगर
- शुरू हो रहा
- समझना
- समझ लिया
- अनावश्यक रूप से
- अपडेट
- अद्यतन
- अपडेट
- उपयोग
- उदाहरण
- आमतौर पर
- यूटीसी
- मूल्य
- हरावल
- वेग
- के माध्यम से
- आयतन
- वेब
- वेब सेवाओं
- कौन कौन से
- जब
- मर्जी
- अंदर
- बिना
- कार्य
- होगा
- लिखना
- लिखा हुआ
- आपका
- स्वयं
- जेफिरनेट
- शून्य
- क्षेत्र