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)

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น