3 คะแนน โดย GN⁺ 2023-08-16 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • Red Planet Labs พัฒนาอินสแตนซ์ Mastodon ระดับขนาดเท่า Twitter ขึ้นใหม่ทั้งหมดด้วยโค้ดเพียงประมาณ 10,000 บรรทัด
    • น้อยกว่าราว 100 เท่าเมื่อเทียบกับโค้ดประมาณ 1M บรรทัดที่ Twitter ใช้สร้างผลิตภัณฑ์ดั้งเดิม
  • อินสแตนซ์ Mastodon ถูกสร้างบนแพลตฟอร์มใหม่ชื่อ Rama
    • Rama เป็นโมเดลที่รวมการประมวลผลและการจัดเก็บเข้าด้วยกัน ทำให้สร้างแบ็กเอนด์ทุกขนาดได้ด้วยโค้ดน้อยลง 100 เท่า
    • เป็นแพลตฟอร์มอเนกประสงค์สำหรับสร้างแอปพลิเคชันแบ็กเอนด์ที่เขียนโปรแกรมด้วย Java API ล้วน
  • ใช้เวลาในการพัฒนา 9 คน/เดือน (person-month) ซึ่งเร็วกว่าอย่างมากเมื่อเทียบกับ Twitter ที่ใช้ราว 200 คน/ปี และ Threads ที่ใช้ 25 คน/ปี
  • แม้จะเล็กกว่าตัวอิมพลีเมนเทชันทางการของ Mastodon มาก แต่ก็สเกลได้ถึงระดับ Twitter
  • Red Planet Labs จะเปิดตัว Rama เวอร์ชันที่ทุกคนสามารถดาวน์โหลดและใช้งานได้ภายในหนึ่งสัปดาห์ และสองสัปดาห์ถัดไปมีแผนจะเปิดซอร์สอิมพลีเมนเทชัน Mastodon ทั้งหมด
  • บริษัทมีแผนจะเริ่ม private beta เร็ว ๆ นี้ เพื่อให้สิทธิ์เข้าถึง Rama เวอร์ชันเต็ม

อินสแตนซ์ Mastodon ของ Red Planet

  • โฮสต์อยู่ที่ https://mastodon.redplanetlabs.com และมีฟีเจอร์ทั้งหมดของ Mastodon
  • เพื่อแสดงขนาดของอินสแตนซ์ Red Planet Labs กำลังรันบัญชีบอต 100M บัญชีที่โพสต์สถานะ ตอบกลับ บูสต์ และกดถูกใจอย่างต่อเนื่อง
  • อินสแตนซ์ Mastodon นี้รองรับบอต 100M บัญชีที่โพสต์ได้ 3,500 ครั้งต่อวินาที จึงพิสูจน์ความสามารถในการสเกล

Rama

  • ประกอบด้วย 4 คอนเซปต์
    • Depot : ที่เก็บข้อมูลแบบกระจายและทำสำเนาซ้ำ
    • ETL : ไมโครบัทช์สตรีมมิง
    • PStates(Partitioned State): การทำดัชนีแบบสากล
    • Query : โทโพโลยีของคิวรี
  • Rama สามารถขยายแบบเชิงเส้น เพิ่มทรัพยากรได้ตามต้องการ และบรรลุ fault tolerance ด้วยการทำสำเนาข้อมูลทั้งหมดและทำ automatic failover

5 ความคิดเห็น

 
sftblw 2023-08-17

> "We’ve implemented every feature of Mastodon from scratch, including:"

ดูแล้วไม่น่าใช่ Mastodon นะครับ จากคำอธิบายอย่างเดียวก็ดูเหมือนเป็นโคลนที่ทำขึ้นเอง น่าจะอยู่ในตำแหน่งของความ "เข้ากันได้" คล้ายกับ "Wildebeest" ของ Cloudflare หรือ GoToSocial ที่เป็น implementation แบบโอเพนซอร์ส และบอกว่าจะเปิดซอร์สภายหลังด้วย...

ฝั่งฟรอนต์เอนด์คือ soapbox นี่เอง

ชักสงสัยว่า Mastodon gGmbH จะเข้ามาทักท้วงหรือเปล่า

 
kuroneko 2023-08-17

ตอนแรกกะจะลองสรุปเรื่องนี้ดู แต่พอไม่เข้าใจเลยสุดท้ายก็ขอผ่านก่อน...
ไว้ถ้ามีเวลาเมื่อไรก็คงอยากค่อย ๆ ทำความเข้าใจดูอีกที

แต่ก็ยังไม่ค่อยแน่ใจว่าไอ้นี่จะทำเงินได้ไหม

 
xguru 2023-08-17

ผมก็ว่าจะลองอ่านช่วงท้ายแบบละเอียดดูเหมือนกัน แต่ตัวบทความอ่านแล้วไม่ค่อยลื่นเท่าไร
แยกจากเรื่องเทคนิคแล้ว รู้สึกว่าเขาน่าจะเขียนเอกสารไม่ค่อยเก่งนัก
ตั้งแต่คำอธิบายคอนเซปต์สำคัญ 4 ข้อแรกก็ทำให้งงนิด ๆ แล้วครับ เฮ้อ

 
xguru 2023-08-17

การเปรียบเทียบกันด้วยจำนวนบรรทัดโค้ดดูจะฝืนไปหน่อย.. แต่ก็เรียกความสนใจได้แน่นอนนะครับ
มีคำอธิบายที่ยืดยาวมากเกี่ยวกับแพลตฟอร์ม Rama และการทำงานภายในของอินสแตนซ์ของพวกเขาเอง
คงต้องรอดูของจริงออกมาก่อนถึงจะรู้ครับ

 
GN⁺ 2023-08-16
ความคิดเห็นจาก Hacker News
  • บทความกล่าวถึงการลดต้นทุนและความซับซ้อนของโค้ดเมื่อขยายเครือข่ายสังคม Mastodon ให้มีขนาดระดับ Twitter ได้ 100 เท่า
  • ผู้อ่านบางส่วนตั้งข้อสงสัยต่อการเปรียบเทียบโค้ด 10,000 บรรทัดของ Mastodon กับโค้ดราว 1,000,000 บรรทัดของ Twitter โดยให้เหตุผลว่าฟีเจอร์มีน้อยกว่ามาก และหากเพิ่มความสามารถอย่างการรองรับวิดีโอแบบกระจายศูนย์เรียลไทม์ขนาดใหญ่ ฐานโค้ดก็น่าจะเพิ่มขึ้นอย่างมาก
  • มีความสงสัยต่อคำกล่าวอ้างที่ใช้บอท 100M โพสต์ 3,500 ครั้งต่อวินาทีเพื่อแสดงขนาดระบบ โดยบางคนมองว่ายังไม่มากพอ และสงสัยว่าตัวเลขนี้เป็นต่อบอทหรือเป็นยอดรวมทั้งหมด
  • ผู้อ่านบางส่วนระบุว่าเข้าใจรายละเอียดทางเทคนิคในโพสต์ได้ยาก และมองว่าโพสต์ตั้งอยู่บนสมมติฐานว่าผู้อ่านมีพื้นความรู้ร่วมกันอยู่แล้ว จึงควรมีคำอธิบายและการเปรียบเทียบที่ชัดเจนกว่านี้
  • มีการตั้งคำถามต่อการวัดคำว่า "ขนาดระดับ Twitter" ด้วยจำนวนทวีตต่อวินาที โดยบางคนเสนอว่าจำนวนอัปเดตต่อวินาทีที่ส่งถึงผู้ใช้ปลายทางซึ่งติดตามทวีตเหล่านั้นน่าจะเป็นตัวชี้วัดที่สมจริงกว่า
  • โพสต์นี้ได้รับคำชมเรื่องมุมมองเชิงลึกและการย่อความซับซ้อนของการพัฒนาแอปสมัยใหม่ให้เหลือเป็นนามธรรมที่ผสมผสานโครงสร้างข้อมูล
  • ผู้อ่านบางส่วนแสดงความกังวลต่อข้อเสนอที่ให้นักพัฒนาพึ่งพาแพลตฟอร์มปิดซอร์สของสตาร์ทอัปสำหรับทุกฟีเจอร์ พร้อมรับความเสี่ยงจากการเปลี่ยนแปลงหรือการหยุดให้บริการ
  • มีความสับสนว่าระยะเวลา 10 ปีที่ใช้สร้างแพลตฟอร์ม Rama ควรถูกนับรวมในเวลาที่ใช้พัฒนาเดโมทางเทคนิคหรือไม่
  • ผู้อ่านบางส่วนแสดงความตื่นเต้นกับเอกสารประกอบของ Rama ที่กำลังจะออกมาในเร็ว ๆ นี้ แต่ก็แสดงความกังวลต่อข้อเสนอแนวคิดการเขียนโปรแกรมแบบใหม่เช่นกัน
  • ประสิทธิภาพของอินสแตนซ์ Mastodon ที่ถูกยกมาเป็นตัวอย่างได้รับคำชมว่าตอบสนองได้ดี แต่ก็มีการชี้ว่าไม่ได้ทำ full-text search เว้นแต่ผู้ใช้จะถูกแท็กไว้