Etsy

Công ty Dành cho thành viên
Bài đọc thử: 1/3 · còn 2 bài miễn phí · Xem gói thành viên

Mạch tiến hoá

Etsy shard MySQL từ khoảng 2010 bằng ORM tự viết: gán shard ngẫu nhiên, lưu ánh xạ trong một index DB, thành điểm hỏng chung. Từ 2018 họ chuyển sang Vitess mà không dời dữ liệu (vindex lai: SQLite cho ID cũ, hash cho ID mới); xong sau 5 năm Etsy 2026. Năm 2020 Etsy hoàn tất rời data center lên GCP; team lo migration trở thành team FinOps, dự báo chi phí theo mỗi visit Etsy 2024. Ở frontend, từ 2020 monorepo hơn 17.000 file JavaScript được chuyển dần sang TypeScript theo từng team kèm đào tạo Etsy 2021. Sớm hơn, năm 2017, hạ tầng ảnh bỏ chất lượng JPEG cố định để chọn theo từng ảnh, giảm 25–30% dung lượng và chi phí CDN Etsy 2017. Năm 2021, giá thầu quảng cáo chuyển từ điểm tính mỗi ngày sang dự đoán theo ngữ cảnh lúc request Etsy 2021. Các bài khác lấp những năm ở giữa: năm 2017 Etsy kể cách giữ cache hàng terabyte bằng consistent hashing và trải key nóng bằng cache smearing Etsy 2017; mùa lễ 2020 họ chuẩn bị capacity bằng quota GCP xin sớm và một scale day nhiều đội Etsy 2021; từ cuối 2020 tới 5/2022 các database thanh toán được shard bằng Vitess, kể thành ba phần: mô hình dữ liệu Etsy 2023, cutover Etsy 2023 và các loại lỗi chỉ hiện sau cutover Etsy 2023.

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
2010 2. Tăng trưởng Shard MySQL qua ORM tự viết + index DB lưu ánh xạ. Etsy 2026
2017 3. Quy mô lớn Chất lượng JPEG theo từng ảnh (tìm nhị phân theo SSIM lúc upload): ảnh −25–30%, đỡ chi phí CDN. Etsy 2017
2017 3. Quy mô lớn memcached/Varnish: consistent hashing Ketama; cache smearing cho key nóng làm bão hoà card mạng. Etsy 2017
2018 3. Quy mô lớn Đưa Vitess vào giữa ORM và MySQL; shard các bảng payments bằng vindex. Etsy 2026
2020 4. Điều chỉnh Xong chuyển lên GCP; team FinOps dự báo theo chi phí mỗi visit, tối ưu GCS, CPU mới, nén mạng (2023–2024). Etsy 2024
2020 3. Quy mô lớn Chuyển frontend (hơn 17.000 file JS) sang TypeScript strict từng file, từng team; kiểu API sinh từ OpenAPI (bài 2021). Etsy 2021
2020 3. Quy mô lớn Mùa lễ 2020: Slush, báo GCP cận trên, scale day 15+ đội ở 3x traffic; Cyber Monday 1,5 triệu QPS MySQL, deploy giờ cao điểm (bài 2/2021). Etsy 2021
2020→2022 4. Điều chỉnh Thanh toán lên Vitess (12/2020–5/2022): 23 bảng, 40 tỉ dòng, 40 shard; shard theo shop_id cho ledger, khoá sẵn có cho payments; giảm 60% tải. Etsy 2023
2020→2022 4. Điều chỉnh Cutover bằng MoveTables: staging từ snapshot production, scatter query làm query x40, sửa bằng lookup vindex; không downtime. Etsy 2023
2020→2022 4. Điều chỉnh Giảm rủi ro cutover: transaction_mode=single, giữ reverse VReplication, --no_scatter, test mọi query. Etsy 2023
2021 3. Quy mô lớn Đấu giá quảng cáo theo ngữ cảnh: PC-CVR từ batch mỗi ngày sang dự đoán lúc request (tới 12.000/giây); A/B test khó cô lập vì chung ngân sách (bài 3/2021). Etsy 2021
2026 4. Điều chỉnh Xong chuyển ~1.000 shard (425 TB, 1,7M req/s) sang vindex; bỏ được index DB. Etsy 2026

Concept liên quan

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

Blog này có 68 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