ประสบการณ์ใช้งาน Rust จริงใน OneSignal ตลอด 4 ปี
(onesignal.com)- ใช้ Rust ในโปรดักชันมาตั้งแต่ปี 2016
→ ตั้งแต่บริการส่งพุชหลัก ไปจนถึง Kafka Consumer สำหรับประมวลผลข้อมูลวิเคราะห์
- ในปี 2016 ส่งพุชได้ 1.25 แสนรายการต่อวินาที และ 2 พันล้านรายการต่อสัปดาห์ → ภายในปี 2020 เติบโตเป็น 1.75 ล้านรายการต่อวินาที และ 7 พันล้านรายการต่อวัน หรือขยายขึ้น 24 เท่า โดย Rust ช่วยได้มาก
ข้อดีและข้อเสีย
-
Rust ยังคงช่วยให้สร้างระบบที่แข็งแกร่งและมีประสิทธิภาพสูงได้ โดยไม่มีโอเวอร์เฮดด้านความปลอดภัย
-
แม้จะเติบโตเต็มที่ขึ้นมากเมื่อเทียบกับปี 2015 แต่ภาษานี้ก็ยังคงเปลี่ยนแปลงอยู่
-
Rust-Analyzer พัฒนาไปมาก จนเพิ่มทั้งการเติมโค้ดอัตโนมัติ, rich tooltip, การไปยังคำจำกัดความ, การแสดงข้อผิดพลาด/คำเตือน/ผลลินต์ และรองรับรีแฟกเตอร์ริง
-
มีการเพิ่ม incremental compile เพื่อปรับปรุงความเร็วคอมไพล์ แต่ตอนนี้ Go ก็ยังคอมไพล์ได้เร็วกว่า อย่างไรก็ตาม Rust เร็วขึ้นในทุกรีลีส
-
ปัญหาเกี่ยวกับ HTTP ลดลงไปมากด้วย Future และ async/await
→ แม้จะมีการปรับปรุงมากมายตั้งแต่ปี 2016 แต่การเปลี่ยนแปลงที่มีประโยชน์ที่สุดคือการนำการเขียนโปรแกรมแบบอะซิงโครนัสมาใช้
- แม้ Rust จะมีสิ่งใหม่ ๆ เพิ่มเข้ามาอย่างมาก แต่ก็คาดว่ายังจะมีการเปลี่ยนแปลงที่น่าสนใจอีกมาก
→ Generic Associated Types (#1598)
→ Custom Test Frameworks (#2318)
ยังไม่มีความคิดเห็น