เซิร์ฟเวอร์
wZD ทำให้สามารถย้าย (เก็บถาวร) เนื้อหาของไดเร็กทอรีไปยังไฟล์เก็บถาวรในรูปแบบ BoltDB จากนั้นแจกจ่ายไฟล์เหล่านี้จากไฟล์เก็บถาวรเหล่านี้ (หรือวางไฟล์ในไฟล์เก็บถาวรโดยใช้วิธี PUT) ลดจำนวนไฟล์ในระบบไฟล์ลงอย่างมากและ ลดค่าใช้จ่ายในการจัดเก็บข้อมูลเมตา เพื่อเพิ่มประสิทธิภาพในการประมวลผลไฟล์ขนาดใหญ่ สามารถบันทึกไฟล์ดังกล่าวแยกต่างหากจากไฟล์เก็บถาวร Bolt แนวทางนี้ช่วยให้คุณสามารถจัดระเบียบพื้นที่จัดเก็บไฟล์ขนาดเล็กจำนวนมาก โดยไม่ถูกจำกัดด้วยจำนวน inodes ในระบบไฟล์
เซิร์ฟเวอร์ยังสามารถใช้เป็นฐานข้อมูล NoSQL สำหรับข้อมูลในรูปแบบคีย์/ค่า (โดยมีการแบ่งส่วนตามโครงสร้างไดเร็กทอรี) หรือสำหรับการกระจายเอกสาร html หรือ json ที่สร้างไว้ล่วงหน้าจากฐานข้อมูล ในแง่ของประสิทธิภาพ การส่งและการเขียนข้อมูลโดยใช้ไฟล์เก็บถาวรของ Bolt ส่งผลให้เวลาแฝงเพิ่มขึ้นประมาณ 20-25% เมื่ออ่าน และ 40-50% เมื่อเขียน ยิ่งขนาดไฟล์เล็กลง ความแตกต่างของเวลาแฝงก็จะน้อยลงตามไปด้วย
หลัก
- มัลติเธรด;
- Multiserver ให้ความทนทานต่อข้อผิดพลาดและการปรับสมดุลโหลด
- ความโปร่งใสสูงสุดสำหรับผู้ใช้หรือนักพัฒนา
- วิธีการ HTTP ที่รองรับ: GET, HEAD, PUT และ DELETE;
- การควบคุมพฤติกรรมการอ่านและการเขียนผ่านส่วนหัวของไคลเอ็นต์
- รองรับโฮสต์เสมือนที่ยืดหยุ่น
- รองรับความสมบูรณ์ของข้อมูล CRC เมื่อเขียน/อ่าน
- บัฟเฟอร์กึ่งไดนามิกสำหรับการใช้หน่วยความจำน้อยที่สุดและการปรับแต่งประสิทธิภาพเครือข่ายที่เหมาะสมที่สุด
- แพคเกจข้อมูลที่รอการตัดบัญชี
- นอกจากนี้ยังมีการเสนอ Archiver แบบมัลติเธรดอีกด้วย
WZA เพื่อย้ายไฟล์ไปยังไฟล์เก็บถาวร Bolt โดยไม่ต้องหยุดบริการ
ข้อจำกัดบางประการของรุ่นปัจจุบัน: ไม่มีการรองรับ Multipart, วิธี POST, โปรโตคอล HTTPS, การผูกภาษาการเขียนโปรแกรม, การลบไดเร็กทอรีแบบเรียกซ้ำ, ไม่มีการรองรับการติดตั้งโครงสร้างกับระบบไฟล์ผ่าน WebDAV หรือ FUSE, ไฟล์ ถูกเก็บไว้ภายใต้ผู้ใช้ระบบหนึ่งคน รูปแบบการจัดเก็บข้อมูลเป็นไปตามสถาปัตยกรรมเฉพาะ และไม่สามารถพกพาได้ระหว่างระบบ Little Endian และ Big Endian แม้ว่าเซิร์ฟเวอร์ wZD จะใช้การสนับสนุนโปรโตคอล HTTP แต่ก็จำเป็นต้องเปิดใช้งานภายใต้หน้ากากของพร็อกซีย้อนกลับเท่านั้น เช่น nginx และ haproxy
ที่มา: opennet.ru