- บทความที่เขียนโดย Joe Armstrong บุคคลที่มีชื่อเสียงในชุมชน Erlang ซึ่งพูดถึงโปรแกรม Erlang ที่เขาชื่นชอบที่สุด
- โปรแกรมนั้นคือ "Universal Server" ซึ่งเป็นแนวคิดในการทำให้แนวคิดของเซิร์ฟเวอร์เป็นแบบทั่วไป เพื่อสร้างเซิร์ฟเวอร์ที่สามารถถูกสั่งให้กลายเป็นเซิร์ฟเวอร์เฉพาะทางได้
- Universal Server จะรอข้อความ
{become, F} และเมื่อ F เป็นฟังก์ชัน มันก็จะกลายเป็นเซิร์ฟเวอร์ F
- Armstrong ยกตัวอย่าง "Factorial Server" ซึ่งรอรับจำนวนเต็มและส่งค่าฟังก์ชันแฟกทอเรียลของจำนวนนั้นกลับมา
- เขาแสดงวิธีสร้างฟังก์ชันที่สร้าง Universal Server จากนั้นส่งข้อความว่า "จงกลายเป็นแฟกทอเรียลเซิร์ฟเวอร์" ส่งจำนวนเต็ม รอคำตอบ และพิมพ์ผลลัพธ์
- เขาเล่าเกร็ดจากช่วงเวลาที่ SICS ซึ่งเขาสามารถเข้าถึง Planet Lab ได้ เครือข่ายวิจัยที่ประกอบด้วยคอมพิวเตอร์ 9000 เครื่อง
- เขาใช้ Planet Lab เป็น testbed จริงสำหรับแอปพลิเคชันแบบกระจาย โดยติดตั้ง Universal Erlang server แบบว่างไว้บนทุกเครื่องของ Planet Lab และตั้งค่าอัลกอริทึมแบบ gossip ที่ทำให้ข้อความ
become แพร่กระจายไปทั่วเครือข่าย
- สิ่งนี้ทำให้เขาสามารถเปลี่ยนเครือข่ายให้เป็นอะไรก็ได้ที่ต้องการอย่างรวดเร็ว และเขาใช้มันเพื่อสร้าง content delivery network สำหรับงานวิจัย
- บทความนี้แสดงให้เห็นถึงความยืดหยุ่นและพลังของ Erlang ในการสร้างระบบแบบไดนามิกและแบบกระจาย
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
{becom, F}ได้ ทำให้เซิร์ฟเวอร์พัฒนาต่อไปได้เรื่อย ๆ