5 điểm bởi xguru 2019-12-14 | 1 bình luận | Chia sẻ qua WhatsApp

Plaid là dịch vụ đọc thông tin số dư của người dùng từ các ngân hàng và cung cấp ra bên ngoài dưới dạng API ngân hàng hợp nhất.

Trước đây họ vận hành 4.000 worker Node mà không có song song hóa, sau đó chuyển sang xử lý song song và tiết kiệm được $300K mỗi năm.

Bài viết tổng hợp rất rõ các cách tiếp cận đã được thử theo từng bước để áp dụng thay đổi mà không gây lỗi.

  • Thêm metric vào Prometheus: kích thước heap V8, GC, độ trễ tác vụ

  • Tạo dashboard Grafana để đo hiệu quả của xử lý song song

  • Dùng feature flag của LaunchDarkly để tinh chỉnh hiệu quả xử lý song song mà không cần redeploy

  • Tạo flamegraph trên production để đo thời gian CPU

Sau khi triển khai thực tế, họ tiếp tục điều tra và lặp lại việc chỉnh sửa

  • Tăng Max Heap Size của Node

  • Loại bỏ nút thắt cổ chai ở S3: tăng maxSockets mà client S3 giảm xuống 50 lên 20480

  • Cải thiện tốc độ JSON Serialization - thay bfj bằng JSONStream

  • Chỉ định kích thước semi space để giảm số lần GC chạy

  • Tối ưu thời gian CPU bằng cách thay đổi phương thức logging có nhiều regex

1 bình luận

 
chusouk 2019-12-17

Ồ hô