จาก 10 คนสู่ 1,000 คน: ประสบการณ์ Erlang ของ WhatsApp
(codesync.global)WhatsApp ใช้ Erlang ได้อย่างประสบความสำเร็จมาเป็นปีที่ 11: "เป็นการตัดสินใจทางเทคนิคที่ดีที่สุดที่เราเคยทำ"
จุดแข็งของ Erlang
-
สถาปัตยกรรมที่มีประสิทธิภาพและมีเสถียรภาพ
-
ไม่มีการเปลี่ยนแปลงการออกแบบแกนหลัก (ตลอด 8 ปี): ใช้โปรเซสขนาดเบาบนพื้นฐาน BEAM (virtual machine), การส่งข้อความ, การกระจายระบบ, และโมเดลหน่วยความจำแบบไม่แชร์อะไรเลย
-
การสเกลที่ยอดเยี่ยม: รองรับผู้ใช้ 2 พันล้านคน, หลายดาต้าเซ็นเตอร์, และมีการเพิ่มฟีเจอร์หลากหลายมาอย่างต่อเนื่อง
-
เหมาะอย่างยิ่งกับทีมขนาดเล็ก: วิศวกร 50 คนรองรับผู้ใช้ 900 ล้านคนได้ (ปี 2015)
-
วงจรการพัฒนาที่รวดเร็วมาก: ภาษาเชิงประกาศระดับสูง, คอมไพล์เร็ว, ดีพลอยเร็ว (hot load)
สิ่งที่ทีม WhatsApp เรียนรู้จาก Facebook
- วิธีเพิ่มผลิตภาพของนักพัฒนา
→ ตัวอย่าง) วิธีที่ Hack แสดง Typechecker Error ใน IDE
ข้อจำกัดของ Erlang
- ไม่มี static type
→ กำลังพัฒนาโปรโตไทป์ภายใน และมีแผนจะโอเพนซอร์ส
-
namespace แบบแบนราบ
-
ขาดเครื่องมือพัฒนาที่ดี: การเชื่อมต่อกับ IDE, formatter, build system เป็นต้น
→ ปรับปรุงขึ้นในระดับหนึ่งจากการมาของ Erlang_LS (Language Server)
ยังไม่มีความคิดเห็น