Figma

Công ty Dành cho thành viên

Mạch tiến hoá

Năm 2017, đợt spam đầu tiên chứng minh giá trị của rate limiter tự viết Figma 2017. Năm 2019 cả Figma vẫn chạy trên một DB instance theo nguyên tắc KISS, và họ đã nói cần DB scale ngang Figma 2019. Ví dụ kinh điển của lộ trình Postgres. Năm 2020 họ dùng một RDS lớn nhất AWS, traffic DB tăng ~3 lần/năm. Họ mua thêm đường băng bằng replica, PgBouncer và DB mới cho tính năng mới, rồi tách dọc ~12 nhóm bảng: tách PgBouncer trước, dùng logical replication có đường rollback Figma 2023. Khi một bảng đơn đã vài TB và tỷ hàng, họ shard ngang ngay trên RDS Postgres thay vì đổi sang NewSQL: colo, hash khoá shard, view làm shard logic, DBProxy tự viết Figma 2024. Hai lý do lặp lại ở cả hai bài: chuyên môn Postgres sẵn có và áp lực thời gian. Kế hoạch "scale ngang" năm 2019 thực tế đi qua bước tách dọc rẻ hơn trước. Cùng giai đoạn, logic phân quyền (khoảng 20% tải DB) được viết lại thành DSL policy dạng JSON để chạy chung ở HTTP backend và LiveGraph Figma 2024. Năm 2020, frontend TypeScript được chuyển dần sang strict null checks theo thứ tự đồ thị phụ thuộc, phải phá một vòng phụ thuộc chiếm gần nửa codebase trước Figma 2020.

Timeline

Năm = năm sự kiện theo bài (có thể sớm hơn năm đăng bài).

Năm Giai đoạn Thay đổi Nguồn
2017 1. Khởi đầu Đợt spam đầu tiên; rate limiter tự viết kiểu sliding window counter trên Redis, shadow ban. Figma 2017
2019 2. Tăng trưởng Cả Figma trên một DB instance (KISS); mỗi file một instance Multiplayer; >80% user ngoài Mỹ; kế hoạch LiveGraph. Figma 2019
2020 2. Tăng trưởng Một RDS Postgres (CPU >65% giờ cao…

Bạn đã dùng hết 3 bài đọc thử miễn phí

Đây là phần mở đầu của Figma. Thành viên đọc được toàn bộ 46 bài tổng hợp theo chủ đề và 141 dòng thời gian công ty. Các bài tóm tắt vẫn đọc tự do.

  • Đọc không giới hạn mọi bài tổng hợp và dòng thời gian
  • Danh sách đọc cá nhân hoá theo trình độ và mục tiêu
  • Cộng đồng Discord cho thành viên (sắp mở)

Gói 6 tháng giảm ~16%, gói 12 tháng giảm ~25%. Trả bằng VietQR hoặc thẻ.

Tất cả bài viết của blog (7 bài)

Blog này có 7 bài – thành viên xem đầy đủ danh sách, nhóm theo năm, có link về bài gốc.

Xem gói thành viên