Flawless คือเอนจินรันไทม์สำหรับการประมวลผลแบบทนทานที่ทำให้โค้ดทำงานต่อจนเสร็จสมบูรณ์ได้ แม้จะเกิดความล้มเหลวของฮาร์ดแวร์หรือซอฟต์แวร์ก็ตาม
- เอนจินนี้มีเป้าหมายเพื่อยกระดับประสบการณ์ผู้ใช้ โดยช่วยให้ UI ที่ซับซ้อนสามารถคงสถานะที่ซับซ้อนไว้ได้ และแก้โจทย์ความท้าทายในการจำลองสถานะทั้งหมดภายในฐานข้อมูล
- Flawless ทำให้สามารถจำลองสถานะแบบคงอยู่ถาวรได้ด้วยเพียงโค้ดและตัวแปรภายในเครื่อง ช่วยทำให้การแสดงพฤติกรรมที่ซับซ้อนในแอปพลิเคชันเรียบง่ายขึ้น
- เวิร์กโฟลว์ของ Flawless เขียนด้วย Rust และคอมไพล์เป็น WebAssembly เพื่อรันในสภาพแวดล้อมที่เป็นดีเทอร์มินิสติกอย่างสมบูรณ์
- ความไม่เป็นดีเทอร์มินิสติกเพียงอย่างเดียวจะถูกนำเข้ามาเมื่อมีการโต้ตอบกับ "โลกจริง" เช่น การส่งคำขอ HTTP หรือการสร้างตัวเลขสุ่ม
- Flawless ทำให้ผลข้างเคียงแบบไม่เป็นดีเทอร์มินิสติกคงอยู่ถาวรด้วยการใช้ล็อก ทำให้เวิร์กโฟลว์ที่หยุดชะงักสามารถรันใหม่และกลับไปถึงสถานะเดิมได้โดยไม่ต้องทำผลข้างเคียงซ้ำอีก
- แนวทางนี้ช่วยลดปริมาณข้อมูลที่ต้องใช้เมื่อเกิดความล้มเหลวให้เหลือน้อยที่สุด และส่วนที่เหลือจะถูกคำนวณใหม่ตามความจำเป็น
- สภาพแวดล้อมการรันแบบดีเทอร์มินิสติกของ Flawless ช่วยให้ระบบสามารถสังเกตตรวจสอบได้ และกำจัดบั๊กที่ไม่สามารถทำซ้ำได้
- Flawless ช่วยลดภาระในการทำให้สถานะคงอยู่ถาวร ทำให้นักพัฒนาสามารถโฟกัสกับการเขียนบิสซิเนสลอจิกได้ โดยมั่นใจว่าทุกการกระทำจะถูกรันจนเสร็จสมบูรณ์
- เอนจิน Flawless สามารถรีสตาร์ตเพื่อการบำรุงรักษาได้โดยไม่รบกวนการทำงานของเวิร์กโฟลว์
- ขณะนี้ Flawless อยู่ในสถานะ private alpha และกำลังเชิญชวนนักพัฒนาให้เข้าร่วมรายชื่อรอเพื่อรับสิทธิ์เข้าถึงล่วงหน้า
ยังไม่มีความคิดเห็น