5 poin oleh xguru 2019-12-14 | 1 komentar | Bagikan ke WhatsApp

Plaid adalah layanan yang membaca informasi saldo pengguna dari bank lalu menyediakannya ke pihak luar melalui API perbankan terpadu.

Sebelumnya mereka mengoperasikan 4.000 worker Node tanpa paralelisasi, lalu beralih ke pemrosesan paralel dan menghemat $300K per tahun.

Berbagai pendekatan yang dicoba secara bertahap untuk menerapkan perubahan tanpa error dirangkum dengan baik.

  • Menambahkan metrik ke Prometheus: V8 Heap Size, GC, Task Latency

  • Membuat dashboard Grafana untuk mengukur dampak pemrosesan paralel

  • Menggunakan feature flag dari LaunchDarkly untuk menyesuaikan dampak pemrosesan paralel tanpa redeploy

  • Membuat flamegraph di production untuk mengukur waktu CPU

Setelah deployment aktual, mereka terus menyelidiki dan berulang kali melakukan perbaikan

  • Meningkatkan Max Heap Size Node

  • Menghilangkan bottleneck S3: menaikkan maxSockets, yang diturunkan klien S3 menjadi 50, menjadi 20480

  • Meningkatkan kecepatan serialisasi JSON - mengganti bfj dengan JSONStream

  • Menentukan ukuran semi space untuk mengurangi frekuensi eksekusi GC

  • Mengubah metode logging yang banyak menggunakan regex untuk mengoptimalkan waktu CPU

1 komentar

 
chusouk 2019-12-17

Ohong