یہ ایک مہمان پوسٹ ہے جو وینگارڈ سے راگھو بوپنا کے ساتھ مل کر لکھی گئی ہے۔
At موہراانٹرپرائز ایڈوائس لائن آف بزنس اعلیٰ، ذاتی نوعیت کے، اور سستی مالیاتی مشورے تک ڈیجیٹل رسائی کے ذریعے سرمایہ کاروں کے نتائج کو بہتر بناتی ہے۔ انہوں نے ایک انتہائی لچکدار اور موثر تکنیکی پلیٹ فارم کے ساتھ سرمایہ کاروں کے لیے پوری دنیا میں بڑے پیمانے پر معیشتوں کو چلانے کے ذریعے، جزوی طور پر اسے ممکن بنایا۔ وینگارڈ نے اس کام کے بوجھ کے لیے ایک کثیر علاقائی فن تعمیر کا انتخاب کیا تاکہ علاقائی خدمات کی خرابیوں سے تحفظ فراہم کیا جا سکے۔ اعلیٰ دستیابی کے مقاصد کے لیے، کام کے بوجھ کے ذریعے استعمال کیے گئے ڈیٹا کو نہ صرف پرائمری ریجن میں، بلکہ ثانوی ریجن میں بھی کم سے کم نقل کے وقفے کے ساتھ دستیاب کرنے کی ضرورت ہے۔ پرائمری ریجن میں سروس کی خرابی کی صورت میں، حل کو ثانوی ریجن میں ناکام ہونے کے قابل ہونا چاہیے جہاں تک ممکن ہو کم سے کم ڈیٹا کے نقصان اور ڈیٹا کو دوبارہ شروع کرنے کی صلاحیت کے ساتھ۔
وینگارڈ کلاؤڈ ٹیکنالوجی آفس اور AWS نے AWS پر ایک بنیادی ڈھانچہ حل بنانے کے لیے شراکت کی جو ان کی لچک کی ضروریات کو پورا کرتی ہے۔ ملٹی ریجن سلوشن بلٹ ان آبزرویبلٹی اور ریکوری کے ساتھ ایک مضبوط فیل اوور میکانزم کو قابل بناتا ہے۔ یہ حل متعدد ذرائع سے مختلف Kinesis ڈیٹا اسٹریمز تک سٹریمنگ ڈیٹا کو بھی سپورٹ کرتا ہے۔ اس حل کو فی الحال کاروباری ٹیموں کی مختلف لائنوں تک پہنچایا جا رہا ہے تاکہ ان کے کام کے بوجھ کی لچک کو بہتر بنایا جا سکے۔
یہاں زیر بحث استعمال کے معاملے میں ریموٹ ڈیٹا سورس (مین فریم DB2) سے ڈیٹا کو سٹریم کرنے کے لیے ڈیٹا کیپچر (CDC) کو تبدیل کرنے کی ضرورت ہے۔ Amazon Kinesis ڈیٹا اسٹریمزکیونکہ کاروباری صلاحیت اس ڈیٹا پر منحصر ہے۔ Kinesis Data Streams ایک مکمل طور پر منظم، بڑے پیمانے پر توسیع پذیر، پائیدار، اور کم لاگت والی سٹریمنگ سروس ہے جو متعدد ذرائع سے ڈیٹا کی بڑی مقدار کو مسلسل حاصل اور سٹریم کر سکتی ہے، اور ڈیٹا کو ملی سیکنڈ میں استعمال کے لیے دستیاب کراتی ہے۔ سروس انتہائی لچکدار ہونے کے لیے بنائی گئی ہے اور ڈیٹا پر کارروائی اور ذخیرہ کرنے کے لیے متعدد دستیابی زونز کا استعمال کرتی ہے۔
اس پوسٹ میں زیر بحث حل یہ بتاتا ہے کہ کس طرح AWS اور Vanguard نے اپنے اعلیٰ دستیابی کے اہداف کو پورا کرنے کے لیے ایک لچکدار فن تعمیر کی اختراع کی۔
حل جائزہ
حل استعمال کرتا ہے۔ او ڈبلیو ایس لامبڈا۔ پرائمری ریجن میں Kinesis ڈیٹا اسٹریمز سے ڈیٹا کو سیکنڈری ریجن میں نقل کرنے کے لیے۔ سی ڈی سی پائپ لائن پر اثر انداز ہونے والی کسی بھی سروس کی خرابی کی صورت میں، فیل اوور کا عمل ثانوی علاقے کو پروڈیوسر اور صارفین کے لیے پرائمری میں ترقی دیتا ہے۔ ہم استعمال کرتے ہیں Amazon DynamoDB گلوبل ٹیبلز نقل کے چیک پوائنٹس کے لیے جو چیک پوائنٹ سے ڈیٹا سٹریمنگ کو دوبارہ شروع کرنے کی اجازت دیتا ہے اور ایک پرائمری ریجن کنفیگریشن فلیگ کو بھی برقرار رکھتا ہے جو ایک ہی ڈیٹا کی لامحدود ریپلیکشن لوپ کو آگے پیچھے روکتا ہے۔
یہ حل Kinesis Data Streams کے صارفین کو ایک ہی AWS اکاؤنٹ کے اندر پرائمری یا کسی سیکنڈری ریجن کو استعمال کرنے کے لیے لچک بھی فراہم کرتا ہے۔
درج ذیل خاکہ حوالہ فن تعمیر کو واضح کرتا ہے۔
آئیے ہر ایک جزو کو تفصیل سے دیکھتے ہیں:
- سی ڈی سی پروسیسر (پروڈیوسر) - اس حوالہ فن تعمیر میں، پروڈیوسر کو تعینات کیا جاتا ہے۔ ایمیزون لچکدار کمپیوٹ کلاؤڈ (Amazon EC2) دونوں پرائمری اور سیکنڈری ریجنز میں، اور پرائمری ریجن میں اور سیکنڈری ریجن میں اسٹینڈ بائی موڈ پر فعال ہے۔ یہ بیرونی ڈیٹا سورس سے CDC ڈیٹا حاصل کرتا ہے (جیسا کہ DB2 ڈیٹا بیس جیسا کہ اوپر کے فن تعمیر میں دکھایا گیا ہے)، اور پرائمری ریجن میں Kinesis ڈیٹا اسٹریمز پر چلا جاتا ہے۔ وینگارڈ 3 کا استعمال کرتا ہے۔rd پارٹی ٹول Qlik Replicate بطور CDC پروسیسر۔ یہ ایک اچھی طرح سے تیار کردہ پے لوڈ تیار کرتا ہے جس میں ریموٹ ڈیٹا سورس سے اصل قطار کے ڈیٹا کے علاوہ Kinesis ڈیٹا سٹریم میں 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" }
کی بیس 64 ڈی کوڈ شدہ قدر
Data
درج ذیل کی طرح. اصل Kinesis ریکارڈ میں بنیادی کلید اور کمٹ ٹائم اسٹیمپ کے علاوہ ٹیبل کی قطار کا پورا ڈیٹا ہوگا جو تبدیل ہوا ہے۔{"Key": 12349999,"CommitTimestamp": "2022-07-18T20:00:00"}
۔
CommitTimestamp
میںData
فیلڈ کا استعمال ریپلیکیشن چیک پوائنٹ میں کیا جاتا ہے اور یہ درست طریقے سے ٹریک کرنے کے لیے اہم ہے کہ ثانوی علاقے میں اسٹریم ڈیٹا کا کتنا حصہ نقل کیا گیا ہے۔ اس کے بعد چیک پوائنٹ کا استعمال CDC پروسیسر (پروڈیوسر) کے فیل اوور کی سہولت کے لیے کیا جا سکتا ہے اور نقل چیک پوائنٹ ٹائم اسٹیمپ کے بعد درست طریقے سے ڈیٹا تیار کرنا شروع کیا جا سکتا ہے۔ریموٹ ڈیٹا سورس استعمال کرنے کا متبادل
CommitTimestamp
(اگر دستیاب نہ ہو) کو استعمال کرنا ہے۔ApproximateArrivalTimestamp
(جو ٹائم اسٹیمپ ہے جب ریکارڈ کو حقیقت میں ڈیٹا اسٹریم پر لکھا جاتا ہے)۔ - کراس ریجن ریپلیکیشن لیمبڈا فنکشن - فنکشن کو بنیادی اور ثانوی دونوں علاقوں میں تعینات کیا گیا ہے۔ یہ سی ڈی سی ڈیٹا پر مشتمل ڈیٹا سٹریم میں ایونٹ سورس میپنگ کے ساتھ ترتیب دیا گیا ہے۔ ایک ہی فنکشن کو متعدد اسٹریمز کے ڈیٹا کو نقل کرنے کے لیے استعمال کیا جا سکتا ہے۔ اسے Kinesis ڈیٹا اسٹریمز کے ریکارڈز کے بیچ کے ساتھ طلب کیا گیا ہے اور بیچ کو ٹارگٹ ریپلیکشن ریجن میں نقل کرتا ہے (جو لیمبڈا کنفیگریشن ماحول کے ذریعے فراہم کیا جاتا ہے)۔ لاگت کے لحاظ سے، اگر CDC ڈیٹا کو فعال طور پر صرف پرائمری ریجن میں تیار کیا جاتا ہے، تو سیکنڈری ریجن میں فنکشن کی محفوظ کنکرنسی صفر پر سیٹ کی جا سکتی ہے، اور علاقائی فیل اوور کے دوران اس میں ترمیم کی جا سکتی ہے۔ فنکشن کے پاس ہے۔ AWS شناخت اور رسائی کا انتظام (IAM) درج ذیل کام کرنے کے لیے کردار کی اجازت:
- اسی اکاؤنٹ کے اندر، اس حل میں استعمال ہونے والے DynamoDB گلوبل ٹیبلز کو پڑھیں اور لکھیں۔
- ایک ہی اکاؤنٹ میں دونوں خطوں میں Kinesis ڈیٹا اسٹریمز کو پڑھیں اور لکھیں۔
- پر حسب ضرورت میٹرکس شائع کریں۔ ایمیزون کلاؤڈ واچ دونوں خطوں میں ایک ہی اکاؤنٹ میں۔
- نقل چیک پوائنٹ - نقل کی چوکی بنیادی اور ثانوی دونوں خطوں میں DynamoDB گلوبل ٹیبل کا استعمال کرتی ہے۔ اس کا استعمال کراس ریجن ریپلیکیشن لیمبڈا فنکشن کے ذریعے آخری ریپلیکیشن ریکارڈ کے کمٹ ٹائم اسٹیمپ کو برقرار رکھنے کے لیے کیا جاتا ہے کیونکہ ہر اس سلسلے کے لیے ریپلیکشن چیک پوائنٹ جو کہ نقل کے لیے ترتیب دیا گیا ہے۔ اس پوسٹ کے لیے، ہم ایک عالمی جدول بناتے اور استعمال کرتے ہیں۔
kdsReplicationCheckpoint
. - ایکٹو ریجن کی تشکیل - فعال علاقہ بنیادی اور ثانوی دونوں خطوں میں DynamoDB گلوبل ٹیبل کا استعمال کرتا ہے۔ یہ کنفیگریشن کی نقل تیار کرنے کے لیے عالمی جدول کی مقامی کراس ریجن نقل کی صلاحیت کا استعمال کرتا ہے۔ اسٹینڈ بائی ریجن میں لیمبڈا فنکشن کے ذریعے پرائمری ریجن میں نقل کو واپس جانے سے روکنے کے لیے یہ ڈیٹا کے ساتھ پہلے سے آباد ہے۔ اس ترتیب کی ضرورت نہیں ہو سکتی ہے اگر اسٹینڈ بائی ریجن میں لیمبڈا فنکشن میں ایک محفوظ کنکرنسی صفر پر سیٹ ہو، لیکن ڈیٹا کی لامحدود ریپلیکشن لوپ سے بچنے کے لیے حفاظتی جانچ کے طور پر کام کر سکتی ہے۔ اس پوسٹ کے لیے، ہم ایک گلوبل ٹیبل بناتے ہیں جسے کہتے ہیں۔
kdsActiveRegionConfig
اور درج ذیل ڈیٹا کے ساتھ ایک آئٹم ڈالیں:{ "stream-name": "example-stream-1", "active-region" : "us-east-1" }
- Kinesis ڈیٹا اسٹریمز - وہ سلسلہ جس میں CDC پروسیسر ڈیٹا تیار کرتا ہے۔ اس پوسٹ کے لیے، ہم نام کا ایک سلسلہ استعمال کرتے ہیں۔
example-stream-1
دونوں خطوں میں، ایک ہی شارڈ کنفیگریشن اور رسائی کی پالیسیوں کے ساتھ۔
کراس ریجن نقل میں اقدامات کی ترتیب
آئیے مختصراً دیکھتے ہیں کہ مندرجہ ذیل ترتیب کے خاکے کا استعمال کرتے ہوئے فن تعمیر کو کس طرح استعمال کیا جاتا ہے۔
ترتیب درج ذیل مراحل پر مشتمل ہے:
- سی ڈی سی پروسیسر (میں
us-east-1
) ریموٹ ڈیٹا سورس سے CDC ڈیٹا پڑھتا ہے۔ - سی ڈی سی پروسیسر (میں
us-east-1
) CDC ڈیٹا کو Kinesis ڈیٹا اسٹریمز (inus-east-1
). - کراس ریجن ریپلیکشن لیمبڈا فنکشن (US-East-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
، ریپلیکٹر فنکشن Kinesis ڈیٹا اسٹریمز میں ریکارڈ تیار کرتا ہے۔us-east-2
ایک ترتیب وار انداز میں.- اگر کوئی ناکامی ہوتی ہے تو، ریکارڈ کی ترتیب نمبر کو ٹریک کیا جاتا ہے اور تکرار ٹوٹ جاتا ہے۔ فنکشن ناکام ترتیب نمبروں کی فہرست لوٹاتا ہے۔ ناکام ترتیب نمبر کو واپس کرکے، حل کی خصوصیت کا استعمال کرتا ہے لیمبڈا چیک پوائنٹ جزوی ناکامیوں کے ساتھ ریکارڈز کے بیچ کی پروسیسنگ کو دوبارہ شروع کرنے کے قابل ہونا۔ یہ کسی بھی سروس کی خرابیوں سے نمٹنے کے وقت مفید ہے، جہاں فنکشن پورے خطوں میں ڈیٹا کو نقل کرنے کی کوشش کرتا ہے تاکہ اسٹریم برابری کو یقینی بنایا جا سکے اور ڈیٹا کا کوئی نقصان نہ ہو۔
- اگر کوئی ناکامی نہیں ہے تو، ایک خالی فہرست واپس آ جاتی ہے، جو اس بات کی نشاندہی کرتی ہے کہ بیچ کامیاب تھا۔
- اگر جواب ہے۔
false
, ریپلیکٹر فنکشن بغیر کسی نقل کیے واپس لوٹتا ہے۔ لیمبڈا کی درخواستوں کی لاگت کو کم کرنے کے لیے، آپ ڈی آر ریجن (us-east-2
) صفر تک۔ یہ فنکشن کو طلب کیے جانے سے روک دے گا۔ جب آپ ناکام ہوجاتے ہیں، تو آپ اس قدر کو CDC تھرو پٹ کی بنیاد پر ایک مناسب نمبر پر اپ ڈیٹ کرسکتے ہیں اور فنکشن کی محفوظ کنکرنسی کوus-east-1
اسے غیر ضروری طور پر انجام دینے سے روکنے کے لیے صفر تک۔
- اگر جواب ہے۔
- تمام ریکارڈ کنیسس ڈیٹا سٹریمز میں تیار ہونے کے بعد
us-east-2
, replicator تقریب چیک پوائنٹس پرkdsReplicationCheckpoint
DynamoDB گلوبل ٹیبل (inus-east-1
) درج ذیل ڈیٹا کے ساتھ:{ "streamName": "example-stream-1", "lastReplicatedTimestamp": "2022-07-18T20:00:00" }
- فنکشن ریکارڈز کے بیچ کو کامیابی سے پروسیس کرنے کے بعد واپس آتا ہے۔
کارکردگی پر غور
حل کی کارکردگی کی توقعات کو درج ذیل عوامل کے حوالے سے سمجھنا چاہیے۔
- علاقے کا انتخاب - نقل میں تاخیر ڈیٹا کے ذریعے طے کیے جانے والے فاصلے کے براہ راست متناسب ہے، لہذا اپنے علاقے کے انتخاب کو سمجھیں۔
- سمتار - ڈیٹا کی آنے والی رفتار یا نقل کیے جانے والے ڈیٹا کا حجم
- پے لوڈ سائز - پے لوڈ کا سائز نقل کیا جا رہا ہے۔
کراس ریجن کی نقل کی نگرانی کریں۔
یہ سفارش کی جاتی ہے کہ نقل کو ٹریک کریں اور اس کا مشاہدہ کریں جیسا کہ یہ ہوتا ہے۔ آپ ہر درخواست کے اختتام پر درج ذیل میٹرکس کے ساتھ CloudWatch پر حسب ضرورت میٹرکس شائع کرنے کے لیے Lambda فنکشن کو تیار کر سکتے ہیں۔ ان میٹرکس کو بنیادی اور ثانوی دونوں خطوں میں شائع کرنے سے اپنے آپ کو پرائمری ریجن میں مشاہدے کو متاثر کرنے والی خرابیوں سے بچانے میں مدد ملتی ہے۔
- انحصار - موجودہ لیمبڈا انوکیشن بیچ کا سائز
- ReplicationLagSeconds - موجودہ ٹائم اسٹیمپ (تمام ریکارڈ پر کارروائی کے بعد) اور کے درمیان فرق
ApproximateArrivalTimestamp
آخری ریکارڈ کا جو نقل کیا گیا تھا۔
مندرجہ ذیل مثال CloudWatch میٹرک گراف سے ظاہر ہوتا ہے کہ نقل کی اوسط وقفہ 2 سیکنڈ تھا جس میں 100 ریکارڈز کے ذریعے نقل کیا گیا us-east-1
کرنے کے لئے us-east-2
.
عام ناکامی کی حکمت عملی
پرائمری ریجن میں سی ڈی سی پائپ لائن کو متاثر کرنے والی کسی بھی خرابی کے دوران، کاروباری تسلسل یا ڈیزاسٹر ریکوری کی ضروریات ثانوی (اسٹینڈ بائی) ریجن میں پائپ لائن کی ناکامی کا حکم دے سکتی ہیں۔ اس کا مطلب ہے کہ اس ناکامی کے عمل کے حصے کے طور پر کچھ چیزیں کرنے کی ضرورت ہے:
- اگر ممکن ہو تو، سی ڈی سی پروسیسر ٹول میں تمام سی ڈی سی کاموں کو روک دیں۔
us-east-1
. - سی ڈی سی پروسیسر کو سیکنڈری ریجن میں ناکام ہونا چاہیے، تاکہ یہ سٹینڈ بائی ریجن سے باہر کام کرتے ہوئے ریموٹ ڈیٹا سورس سے سی ڈی سی ڈیٹا پڑھ سکے۔
- ۔
kdsActiveRegionConfig
DynamoDB گلوبل ٹیبل کو اپ ڈیٹ کرنے کی ضرورت ہے۔ مثال کے طور پر، ندی کے لیےexample-stream-1
ہماری مثال میں استعمال کیا جاتا ہے، فعال علاقہ کو تبدیل کر دیا گیا ہے۔us-east-2
:
{ "stream-name": "example-stream-1", "active-Region" : "us-east-2"
}
- تمام ندی چوکیوں کو سے پڑھنے کی ضرورت ہے۔
kdsReplicationCheckpoint
DynamoDB گلوبل ٹیبل (inus-east-2
)، اور ہر چوکی کے ٹائم اسٹیمپ کو پروڈیوسر ٹول میں سی ڈی سی کے کام شروع کرنے کے لیے استعمال کیا جاتا ہے۔us-east-2
علاقہ۔ یہ ڈیٹا کے ضائع ہونے کے امکانات کو کم کرتا ہے اور چیک پوائنٹ ٹائم اسٹیمپ سے ریموٹ ڈیٹا سورس سے CDC ڈیٹا کو درست طریقے سے دوبارہ شروع کرتا ہے۔ - اگر لیمبڈا کی درخواستوں کو کنٹرول کرنے کے لیے محفوظ کنکرنسی کا استعمال کر رہے ہیں، تو پرائمری ریجن میں قدر کو صفر پر سیٹ کریں(
us-east-1
) اور ثانوی خطے میں ایک مناسب غیر صفر قدر تک(us-east-2
).
وینگارڈ کی ملٹی سٹیپ فیل اوور حکمت عملی
کچھ تھرڈ پارٹی ٹولز جو Vanguard استعمال کرتا ہے ان میں ریموٹ ڈیٹا سورس سے کسی منزل تک ڈیٹا کو اسٹریم کرنے کا دو قدمی CDC عمل ہوتا ہے۔ وانگارڈ کا ان کے سی ڈی سی پروسیسر کے لیے انتخاب کا ٹول اس دو قدمی نقطہ نظر کی پیروی کرتا ہے:
- پہلے مرحلے میں لاگ اسٹریم ٹاسک کو ترتیب دینا شامل ہے جو ریموٹ ڈیٹا سورس سے ڈیٹا کو پڑھتا ہے اور اسٹیجنگ مقام پر برقرار رہتا ہے۔
- دوسرے مرحلے میں صارفین کے انفرادی کاموں کو ترتیب دینا شامل ہے جو اسٹیجنگ مقام سے ڈیٹا کو پڑھتے ہیں — جو آن ہو سکتے ہیں۔ ایمیزون لچکدار فائل سسٹم (ایمیزون ای ایف ایس) یا ایمیزون ایف ایس ایکس، مثال کے طور پر — اور اسے منزل تک لے جائیں۔ یہاں لچک یہ ہے کہ ان صارفین کے کاموں میں سے ہر ایک کو مختلف کمٹ ٹائم اسٹیمپ سے اسٹریم کرنے کے لیے متحرک کیا جا سکتا ہے۔ لاگ اسٹریم ٹاسک عام طور پر صارفین کے کاموں کے ذریعہ استعمال ہونے والے کم سے کم تمام کمٹ ٹائم اسٹیمپ سے ڈیٹا پڑھنا شروع کرتا ہے۔
آئیے منظر نامے کی وضاحت کے لیے ایک مثال دیکھتے ہیں:
- کنزیومر ٹاسک A کمٹ ٹائم اسٹیمپ 2022-07-19T20:00:00 سے لے کر ڈیٹا کو سٹریم کر رہا ہے
example-stream-1
. - کنزیومر ٹاسک B ایک کمٹ ٹائم اسٹیمپ 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 گلوبل ٹیبل (inus-east-2
). - چیک پوائنٹ کی معلومات کو پڑھنے کے بعد، فیل اوور کا عمل کم از کم تمام کا پتہ لگاتا ہے۔
lastReplicatedTimestamp
. - سی ڈی سی پروسیسر ٹول میں لاگ سٹریم کا کام شروع ہوا ہے۔
us-east-2
مرحلہ 4 میں پائے جانے والے ٹائم اسٹیمپ کے ساتھ۔ یہ اس ٹائم اسٹیمپ کے بعد سے ریموٹ ڈیٹا سورس سے CDC ڈیٹا کو پڑھنا شروع کر دیتا ہے اور انہیں AWS پر سٹیجنگ مقام پر برقرار رکھتا ہے۔ - اگلا مرحلہ سٹیجنگ لوکیشن سے ڈیٹا کو پڑھنے اور منزل کے ڈیٹا سٹریم تک جانے کے لیے صارفین کے تمام کام شروع کرنا ہے۔ یہ وہ جگہ ہے جہاں سے ہر صارف کے کام کو مناسب ٹائم اسٹیمپ کے ساتھ فراہم کیا جاتا ہے۔
kdsReplicationCheckpoint
کے مطابق میزstreamName
جس میں ٹاسک ڈیٹا کو سٹریم کرتا ہے۔
صارفین کے تمام کام شروع ہونے کے بعد، US-east-2 میں Kinesis ڈیٹا اسٹریمز میں ڈیٹا تیار کیا جاتا ہے۔ وہاں سے، کراس ریجن ریپلیکیشن کا عمل وہی ہے جیسا کہ پہلے بیان کیا گیا ہے - ریپلیکیشن لیمبڈا فنکشن us-east-2
ڈیٹا سٹریم میں ڈیٹا کو نقل کرنا شروع کرتا ہے۔ us-east-1
.
اسٹریمز سے ڈیٹا پڑھنے والی صارفین کی ایپلی کیشنز سے توقع کی جاتی ہے کہ وہ ڈپلیکیٹس کو ہینڈل کرنے کے قابل ہو جائیں گے۔ کئی وجوہات کی بنا پر سٹریم میں ڈپلیکیٹس متعارف کرائے جا سکتے ہیں، جن میں سے کچھ کو ذیل میں بلایا جاتا ہے۔
- پروڈیوسر یا سی ڈی سی پروسیسر فیل اوور کے دوران سی ڈی سی ڈیٹا کو دوبارہ چلاتے ہوئے ڈپلیکیٹس کو سٹریم میں متعارف کراتا ہے۔
- DynamoDB گلوبل ٹیبل تمام خطوں میں ڈیٹا کی غیر مطابقت پذیر نقل کا استعمال کرتا ہے اور اگر
kdsReplicationCheckpoint
ٹیبل ڈیٹا میں ریپلیکشن وقفہ ہوتا ہے، فیل اوور کا عمل ممکنہ طور پر سی ڈی سی ڈیٹا کو دوبارہ چلانے کے لیے پرانے چیک پوائنٹ ٹائم اسٹیمپ کا استعمال کر سکتا ہے۔
نیز، صارفین کی ایپلی کیشنز کو استعمال ہونے والے آخری ریکارڈ کے CommitTimestamp کو چیک کرنا چاہیے۔ یہ بہتر نگرانی اور بحالی کی سہولت کے لیے ہے۔
پختگی کا راستہ: خودکار بحالی
مثالی حالت فیل اوور کے عمل کو مکمل طور پر خودکار کرنا ہے، بحالی کے لیے وقت کو کم کرنا اور لچک سروس لیول مقصد (SLO) کو پورا کرنا ہے۔ تاہم، زیادہ تر تنظیموں میں، ناکام ہونے، واپس ناکام ہونے، اور فیل اوور کو متحرک کرنے کے فیصلے کے لیے صورت حال کا جائزہ لینے اور نتائج کا فیصلہ کرنے میں دستی مداخلت کی ضرورت ہوتی ہے۔ فیل اوور کو انجام دینے کے لیے اسکرپٹڈ آٹومیشن بنانا جسے انسان چلا سکتا ہے شروع کرنے کے لیے ایک اچھی جگہ ہے۔
وینگارڈ نے فیل اوور کے تمام مراحل کو خودکار کر دیا ہے، لیکن پھر بھی انسانوں کو یہ فیصلہ کرنا ہے کہ اسے کب استعمال کرنا ہے۔ آپ اپنی ضروریات کو پورا کرنے کے لیے حل کو اپنی مرضی کے مطابق بنا سکتے ہیں اور CDC پروسیسر ٹول پر منحصر ہے جسے آپ اپنے ماحول میں استعمال کرتے ہیں۔
نتیجہ
اس پوسٹ میں، ہم نے بیان کیا کہ کس طرح Vanguard نے Kinesis Data Streams میں تمام خطوں میں ڈیٹا کو نقل کرنے کے لیے ایک حل ایجاد کیا اور بنایا تاکہ ڈیٹا کو انتہائی دستیاب بنایا جا سکے۔ ہم نے ضرورت پڑنے پر نقل کے عمل کے علاقائی فیل اوور کو آسان بنانے کے لیے ایک مضبوط چیک پوائنٹ حکمت عملی کا بھی مظاہرہ کیا۔ حل نے یہ بھی واضح کیا کہ نقل کی چوکیوں اور ترتیب کو ٹریک کرنے کے لیے ڈائنامو ڈی بی گلوبل ٹیبلز کو کیسے استعمال کیا جائے۔ اس فن تعمیر کے ساتھ، Vanguard پرائمری ریجن میں CDC پائپ لائنوں کو متاثر کرنے والی سروس کی خرابیوں کے پیش نظر اعلیٰ دستیابی کی کاروباری ضروریات کو پورا کرنے کے لیے CDC ڈیٹا پر منحصر کام کے بوجھ کو متعدد علاقوں میں تعینات کرنے کے قابل تھا۔
اگر آپ کے پاس کوئی رائے ہے تو براہ کرم ذیل میں تبصرے کے سیکشن میں ایک تبصرہ چھوڑیں۔
مصنفین کے بارے میں
راگھو بوپنا وینگارڈ کے چیف ٹیکنالوجی آفس میں ایک انٹرپرائز آرکیٹیکٹ کے طور پر کام کرتا ہے۔ راگھو ڈیٹا اینالیٹکس، ڈیٹا مائیگریشن/ریپلیکیشن بشمول CDC پائپ لائنز، ڈیزاسٹر ریکوری اور ڈیٹا بیس میں مہارت رکھتا ہے۔ اس نے کئی AWS سرٹیفیکیشن حاصل کیے ہیں جن میں AWS سرٹیفائیڈ سیکیورٹی - اسپیشلٹی اور AWS سرٹیفائیڈ ڈیٹا اینالیٹکس - اسپیشلٹی شامل ہیں۔
پرمیشورن وی ویدیا ناتھن ایمیزون ویب سروسز کے ساتھ ایک سینئر کلاؤڈ ریزیلینس آرکیٹیکٹ ہے۔ وہ بڑے کاروباری اداروں کو AWS کلاؤڈ پر آرکیٹیکٹنگ اور توسیع پذیر اور لچکدار حل تیار کرکے کاروباری اہداف حاصل کرنے میں مدد کرتا ہے۔
ریچا کول فنانشل سروسز کے صارفین کی خدمت کرنے والے کسٹمر سلوشنز میں ایک سینئر لیڈر ہے۔ وہ نیویارک سے باہر مقیم ہے۔ اسے بڑے پیمانے پر کلاؤڈ ٹرانسفارمیشن، ملازمین کی فضیلت، اور اگلی نسل کے ڈیجیٹل حل میں وسیع تجربہ ہے۔ وہ اور اس کی ٹیم پرفارمنس، لچکدار اور چست حل تیار کرکے کلاؤڈ کی قدر کو بہتر بنانے پر توجہ مرکوز کرتی ہے۔ ریچا کو ٹرائیتھلون، موسیقی، اور نئی ٹیکنالوجیز کے بارے میں سیکھنے جیسے متعدد کھیلوں سے لطف اندوز ہوتا ہے۔
میتھل پرساد ایمیزون ویب سروسز کے ساتھ پرنسپل کسٹمر سلوشنز مینیجر ہے۔ اپنے کردار میں، متھیل صارفین کے ساتھ کلاؤڈ ویلیو کو حاصل کرنے کے لیے کام کرتا ہے، کاروبار کو رفتار، چستی اور جدت کے حصول میں مدد کرنے کے لیے سوچی سمجھی قیادت فراہم کرتا ہے۔
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو بلاک چین۔ Web3 Metaverse Intelligence. علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: 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
- کی صلاحیت
- قابلیت
- ہمارے بارے میں
- اوپر
- تک رسائی حاصل
- کے مطابق
- اکاؤنٹ
- درست طریقے سے
- حاصل
- کے پار
- اعمال
- فعال
- فعال طور پر
- اصل میں
- اس کے علاوہ
- مشورہ
- کو متاثر
- سستی
- کے بعد
- کے خلاف
- فرتیلی
- تمام
- کی اجازت دیتا ہے
- متبادل
- ایمیزون
- ایمیزون EC2
- ایمیزون کنیسیس
- ایمیزون ویب سروسز
- مقدار
- تجزیاتی
- اور
- ایپلی کیشنز
- نقطہ نظر
- مناسب
- فن تعمیر
- خود کار طریقے سے
- آٹومیٹڈ
- میشن
- دستیابی
- دستیاب
- اوسط
- سے اجتناب
- AWS
- AWS مصدقہ
- واپس
- کی بنیاد پر
- کیونکہ
- کیا جا رہا ہے
- نیچے
- بہتر
- کے درمیان
- مختصر
- ٹوٹ
- تعمیر
- عمارت
- تعمیر
- تعمیر میں
- کاروبار
- کاروبار تسلسل
- کاروبار
- کہا جاتا ہے
- قبضہ
- قبضہ
- کیس
- سی ڈی سی
- سرٹیفکیٹ
- مصدقہ
- مشکلات
- تبدیل
- چیک کریں
- چیک
- چیف
- انتخاب
- بادل
- کلاؤڈ ٹیکنالوجی
- کوڈ
- تبصرہ
- تبصروں
- وعدہ کرنا
- جزو
- وسیع
- کمپیوٹنگ
- شرط
- ترتیب
- خیالات
- بسم
- صارفین
- صارفین
- کھپت
- مسلسل
- کنٹرول
- قیمت
- سکتا ہے
- جوڑے
- تخلیق
- تخلیق
- اہم
- موجودہ
- اس وقت
- اپنی مرضی کے
- گاہک
- صارفین کے حل
- گاہکوں
- اپنی مرضی کے مطابق
- اعداد و شمار
- ڈیٹا تجزیات
- ڈیٹا کے نقصان
- ڈیٹا بیس
- ڈیٹا بیس
- فیصلہ کرنا
- فیصلہ
- وقف
- demonstrated,en
- ثبوت
- منحصر ہے
- انحصار کرتا ہے
- تعیناتی
- تعینات
- بیان کیا
- منزل
- تفصیل
- فرق
- مختلف
- ڈیجیٹل
- براہ راست
- آفت
- بات چیت
- فاصلے
- ڈرائیو
- ڈرائیونگ
- نقل
- کے دوران
- ہر ایک
- اس سے قبل
- حاصل
- معیشتوں
- پیمانے کی معیشت
- ہنر
- ملازم
- کے قابل بناتا ہے
- بہتر
- کو یقینی بنانے کے
- انٹرپرائز
- اداروں
- پوری
- ماحولیات
- Ether (ETH)
- اندازہ
- اندازہ
- واقعہ
- ہر کوئی
- مثال کے طور پر
- ایکسیلنس
- پھانسی
- توقعات
- توقع
- تجربہ
- وضاحت
- بیان کرتا ہے
- وسیع
- بیرونی
- چہرہ
- سہولت
- عوامل
- FAIL
- ناکام
- ناکامی
- نمایاں کریں
- آراء
- میدان
- فائل
- مالی
- مالیاتی خدمات
- پتہ ہے
- پہلا
- لچک
- توجہ مرکوز
- کے بعد
- مندرجہ ذیل ہے
- سرمایہ کاروں کے لئے
- ملا
- سے
- مکمل طور پر
- تقریب
- نسل
- گلوبل
- دنیا
- اہداف
- اچھا
- گراف
- مہمان
- مہمان پوسٹ
- ہینڈل
- ہینڈلنگ
- ہوتا ہے
- صحت
- مدد
- مدد کرتا ہے
- یہاں
- ہائی
- انتہائی
- کس طرح
- کیسے
- تاہم
- HTTPS
- انسانی
- انسان
- IAM
- مثالی
- شناختی
- خرابی
- کو بہتر بنانے کے
- بہتر ہے
- in
- سمیت
- موصولہ
- اضافہ
- اشارہ کرتا ہے
- انفرادی
- معلومات
- انفراسٹرکچر
- جدت طرازی
- مثال کے طور پر
- مداخلت
- متعارف
- متعارف کرواتا ہے
- سرمایہ کار
- سرمایہ
- شامل ہے
- IT
- تکرار
- اعلی درجے کا Java
- جولائی
- کلیدی
- Kinesis ڈیٹا اسٹریمز
- بڑے
- آخری
- تاخیر
- رہنما
- قیادت
- سیکھنے
- چھوڑ دو
- سطح
- لائن
- لائنوں
- لسٹ
- تھوڑا
- محل وقوع
- دیکھو
- بند
- بنا
- برقرار رکھتا ہے
- بنا
- بناتا ہے
- میں کامیاب
- مینیجر
- انداز
- دستی
- بہت سے
- تعریفیں
- بڑے پیمانے پر
- پختگی
- کا مطلب ہے کہ
- میکانزم
- سے ملو
- اجلاس
- میٹرک۔
- پیمائش کا معیار
- کم سے کم
- کم سے کم
- موڈ
- نظر ثانی کی
- نگرانی
- سب سے زیادہ
- کثیر
- ایک سے زیادہ
- موسیقی
- نام
- نام
- مقامی
- ضرورت ہے
- ضرورت
- ضروریات
- نئی
- نئی ٹیکنالوجی
- NY
- اگلے
- تعداد
- تعداد
- مقصد
- مشاہدہ
- دفتر
- کام
- اصلاح
- تنظیمیں
- نتائج
- مساوات
- حصہ
- شراکت دار
- پارٹی
- پاٹرن
- انجام دینے کے
- کارکردگی
- کارکردگی کا مظاہرہ
- اجازتیں
- رہتا ہے
- نجیکرت
- پائپ لائن
- مقام
- پلیٹ فارم
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- مہربانی کرکے
- پالیسیاں
- ممکن
- پوسٹ
- ممکنہ طور پر
- کی روک تھام
- پرائمری
- پرنسپل
- عمل
- پروسیسنگ
- پروسیسر
- تیار
- پروڈیوسر
- پروڈیوسرس
- فروغ دیتا ہے
- حفاظت
- فراہم
- فراہم
- فراہم کرتا ہے
- شائع
- پبلشنگ
- مقاصد
- ڈال
- پڑھیں
- پڑھنا
- احساس
- وجوہات
- سفارش کی
- ریکارڈ
- ریکارڈ
- بازیافت
- وصولی
- کو کم
- کو کم کرنے
- خطے
- علاقائی
- خطوں
- ریموٹ
- نقل تیار
- نقل
- نقل
- ضرورت
- ضروریات
- کی ضرورت ہے
- محفوظ
- لچک
- لچکدار
- جواب
- باقی
- تجربے کی فہرست
- واپسی
- واپس لوٹنے
- واپسی
- مضبوط
- کردار
- رولڈ
- ROW
- رن
- سیفٹی
- اسی
- توسیع پذیر
- پیمانے
- منظر نامے
- دوسری
- ثانوی
- سیکنڈ
- سیکشن
- سیکورٹی
- سینئر
- تسلسل
- خدمت
- سروس
- سروسز
- خدمت
- مقرر
- قائم کرنے
- کئی
- ہونا چاہئے
- دکھایا گیا
- شوز
- سادگی
- صورتحال
- سائز
- So
- حل
- حل
- کچھ
- ماخذ
- ذرائع
- مہارت دیتا ہے
- خاص
- تیزی
- اسپورٹس
- کھینچنا
- شروع کریں
- شروع
- شروع ہوتا ہے
- حالت
- مرحلہ
- مراحل
- ابھی تک
- بند کرو
- ذخیرہ
- حکمت عملی
- سٹریم
- محرومی
- سٹریمنگ سروس
- اسٹریمز
- کامیاب
- کامیابی کے ساتھ
- موزوں
- اعلی
- فراہم کی
- کی حمایت کرتا ہے
- کے نظام
- ٹیبل
- لیتا ہے
- ہدف
- ٹاسک
- کاموں
- ٹیم
- ٹیموں
- ٹیکنیکل
- ٹیکنالوجی
- ٹیکنالوجی
- ۔
- ان
- چیزیں
- تیسری پارٹی
- سوچا
- سوچا قیادت۔
- کے ذریعے
- تھرو پٹ
- وقت
- ٹائمسٹیمپ
- کرنے کے لئے
- کے آلے
- اوزار
- ٹریک
- ٹریکنگ
- تبدیلی
- سفر کیا
- ٹرگر
- متحرک
- سمجھ
- سمجھا
- غیر ضروری طور پر
- اپ ڈیٹ کریں
- اپ ڈیٹ
- تازہ ترین معلومات
- استعمال کی شرائط
- استعمال کیس
- عام طور پر
- UTC کے مطابق ھیں
- قیمت
- موہرا
- VeloCity
- کی طرف سے
- حجم
- ویب
- ویب خدمات
- جس
- جبکہ
- گے
- کے اندر
- بغیر
- کام کرتا ہے
- گا
- لکھنا
- لکھا
- اور
- اپنے آپ کو
- زیفیرنیٹ
- صفر
- علاقوں