HeadlinesBriefing HeadlinesBriefing.com

celld में निश्चितता पूर्ण सिमुलेशन टेस्टिंग

Hacker News •
×

हम celld का निर्माण कर रहे हैं, जो आपके स्वयं के मशीनों पर Cloudflare Workers और Durable Objects एप्लिकेशन के लिए एक रनटाइम है। यह S3-संगत वस्तु भंडार को अपनी एकमात्र बाहरी सेवा निर्भरता के रूप में चला सकता है।

celld एक वितरित प्रणाली है। विश्वसनीय वितरित प्रणाली बनाना कठिन है, आंशिक रूप से क्योंकि हम अनजाने में उन मान्यताओं पर निर्भर हो सकते हैं जो व्यावहारिक रूप से लागू नहीं होतीं, भले ही हम खतरों को जानते हों। Peter Deutsch के वितरित गणना के आठ भूलों में आठ ऐसी मान्यताओं का उल्लेख है, जिसमें "नेटवर्क विश्वसनीय है" और "शून्य विलंबता" शामिल है।

एक बग एक विशेष देरी वाले संदेशों की secuencia, failed लिखताओं, और नोड पुनरारंभ की secuencia पर निर्भर कर सकता है। इन घटनाओं अगली परीक्षण चलाने में अलग क्रम में हो सकती हैं, जिससे खराबी को पुन: उत्पन्न करना कठिन हो सकता है। हमें विफल चलाने को दोहराने में सक्षम होने की आवश्यकता है ताकि हम कारण की जांच कर सकें और यह जांच सकें कि एक प्रस्तावित सुधार वास्तव में समस्या को हल करता है। यही कारण है कि हम निश्चितता पूर्ण सिमुलेशन टेस्टिंग (DST) का उपयोग करते हैं।

हमारा सिमुलेटर अभी विकास के तहत है और celld के सार्वजनिक भंडार में शामिल नहीं है, लेकिन इसने पहले से ही अज्ञात बग खोज लिए हैं। इस लेख में, हम DST कि celld में कैसे काम करता है और इसने हमें उन बग को खोजने, पुन: उत्पन्न करने और ठीक करने में कैसे मदद की, के माध्यम से चलेंगे। DST एक सिमुलेटर के नियंत्रित वातावरण में celld के उत्पादन कोड चलाता है। celld में एक cell एप्लिकेशन कोड चलाता है और उसके पास अपना SQLite डेटाबेस होता है। जैसे-जैसे cell अपना काम करते हैं, celld घटनाओं जैसे प्रवेश अनुरोध, पूरी भंडार ऑपरेशन, और टाइमर ट्रिगर का निपटान करता है। अगला घटना चुनने वाला कोड इसे संभालने वाले कोड से अलग होता है। इससे सिमुलेटर को उत्पादन में उसी घटना संभालने वाले कोड चलाते हुए घटनाओं के क्रम को नियंत्रित करने की अनुमति मिलती है।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित