3 điểm bởi GN⁺ 2023-08-16 | 5 bình luận | Chia sẻ qua WhatsApp
  • Red Planet Labs đã phát triển từ đầu một instance Mastodon ở quy mô Twitter chỉ với khoảng 10.000 dòng mã
    • Ít hơn 100 lần so với khoảng 1 triệu dòng mã mà Twitter đã dùng để xây dựng sản phẩm ban đầu
  • Instance Mastodon được xây dựng trên một nền tảng mới tên là Rama
    • Rama là mô hình hợp nhất tính toán và lưu trữ, cho phép xây dựng bất kỳ backend ở quy mô nào với lượng mã ít hơn 100 lần
    • Nền tảng đa dụng để xây dựng backend ứng dụng, được lập trình bằng API Java thuần
  • Việc xây dựng mất 9 person-month. So với Twitter mất khoảng 200 person-year và Threads mất 25 person-year, tốc độ này nhanh hơn rất nhiều
  • Dù nhỏ hơn rất nhiều so với implementation chính thức của Mastodon, nó vẫn có thể mở rộng đến quy mô Twitter
  • Red Planet Labs cho biết trong vòng một tuần sẽ phát hành phiên bản Rama để bất kỳ ai cũng có thể tải về và sử dụng, và hai tuần sau sẽ mã nguồn mở hoàn toàn implementation Mastodon
  • Công ty cũng sắp khởi động private beta, cung cấp quyền truy cập vào phiên bản đầy đủ của Rama

Instance Mastodon của Red Planet

  • Được host tại https://mastodon.redplanetlabs.com và bao gồm mọi tính năng của Mastodon.
  • Để cho thấy quy mô của instance, Red Planet Labs đang vận hành 100M tài khoản bot liên tục đăng trạng thái, trả lời, boost và yêu thích
  • Instance Mastodon có thể xử lý 100M bot đăng 3.500 bài mỗi giây, qua đó chứng minh khả năng mở rộng của nó

Rama

  • Gồm 4 khái niệm
    • Depot : kho lưu trữ dữ liệu sao chép phân tán
    • ETL : streaming micro-batch
    • PStates(Partitioned State): lập chỉ mục phổ quát
    • Query : topology truy vấn
  • Rama có thể mở rộng tuyến tính, thêm tài nguyên khi cần, đồng thời đạt khả năng chịu lỗi bằng cách sao chép toàn bộ dữ liệu và triển khai tự động chuyển đổi dự phòng

5 bình luận

 
sftblw 2023-08-17

> "Chúng tôi đã tự triển khai lại từ đầu mọi tính năng của Mastodon, bao gồm:"

Có vẻ đây không phải là Mastodon. Chỉ dựa vào phần mô tả thì có vẻ là một bản clone tự phát triển. Có lẽ nó ở vị trí “tương thích” tương tự như "Wildebeest" của Cloudflare hay GoToSocial là một triển khai mã nguồn mở. Nguồn mã thì dự kiến sẽ được công khai...

Phần frontend là soapbox nhỉ.

Không biết Mastodon gGmbH có vào cuộc bắt bẻ không.

 
kuroneko 2023-08-17

Tôi định thử tóm tắt cái này nhưng không hiểu nổi nên cuối cùng đành bỏ qua...
Có lẽ sau này nên dành thời gian để từ từ tìm hiểu thì sẽ hay hơn.

Nhưng tôi cũng không chắc chuyện đó có kiếm ra tiền được không.

 
xguru 2023-08-17

Tôi cũng định đọc kỹ hơn phần sau, nhưng bài viết khá khó đọc.
Có cảm giác là ngoài khía cạnh kỹ thuật ra thì họ không giỏi lắm trong việc viết tài liệu.
Ngay từ phần giải thích 4 khái niệm quan trọng đã khiến tôi kiểu thấy hơi "hả?" rồi T_T

 
xguru 2023-08-17

So sánh bằng số dòng mã có vẻ hơi gượng ép.. nhưng đúng là đã câu được chú ý. Phần giải thích về nền tảng Rama và cách triển khai nội bộ của chính instance của họ thì rất dài dòng. Có lẽ phải chờ khi nó thực sự ra mắt mới biết được.

 
GN⁺ 2023-08-16
Ý kiến Hacker News
  • Bài viết bàn về việc giảm chi phí và độ phức tạp của mã nguồn khi mở rộng mạng xã hội Mastodon lên quy mô như Twitter với chi phí thấp hơn 100 lần.
  • Một số độc giả đặt câu hỏi về việc so sánh 10.000 dòng mã của Mastodon với khoảng 1 triệu dòng mã của Twitter, cho rằng Mastodon có ít tính năng hơn rất nhiều và nếu bổ sung các tính năng như hỗ trợ video thời gian thực phân tán ở quy mô lớn thì codebase sẽ tăng mạnh.
  • Có sự hoài nghi với tuyên bố thể hiện quy mô rằng 100M bot đăng 3.500 bài mỗi giây; một số độc giả cho rằng như vậy là chưa đủ và đặt câu hỏi liệu đây là cho mỗi bot hay là tổng cộng.
  • Một số độc giả gặp khó khăn trong việc hiểu các chi tiết kỹ thuật của bài viết, cho rằng bài viết giả định sẵn một nền tảng kiến thức chung và cần có giải thích, đối chiếu rõ ràng hơn.
  • Có ý kiến nghi ngờ cách đo "quy mô Twitter" bằng số tweet mỗi giây; một số độc giả cho rằng số lượng cập nhật mỗi giây đến người dùng cuối đang theo dõi tweet mới là thước đo thực tế hơn.
  • Bài viết được khen vì các phân tích sâu và vì cách trừu tượng hóa giúp rút gọn sự phức tạp của phát triển ứng dụng hiện đại thành sự kết hợp của các cấu trúc dữ liệu.
  • Một số độc giả bày tỏ lo ngại về đề xuất để các nhà phát triển phụ thuộc vào nền tảng mã nguồn đóng của một startup cho mọi tính năng, trong khi phải chấp nhận rủi ro thay đổi hoặc gián đoạn.
  • Có sự nhầm lẫn về việc liệu 10 năm xây dựng nền tảng Rama có nên được tính vào thời gian dùng để phát triển bản demo kỹ thuật hay không.
  • Một số độc giả tỏ ra hào hứng với tài liệu sắp ra mắt cho Rama, nhưng cũng bày tỏ lo ngại về đề xuất một mô hình lập trình mới.
  • Hiệu năng của instance Mastodon được nêu làm ví dụ được khen là phản hồi tốt, nhưng cũng có ý kiến chỉ ra rằng nó không triển khai tìm kiếm toàn văn trừ khi người dùng được gắn thẻ.