For Proxifile Interview
@Eddie Hsu
Career
Challenges
Backend performance
@QCDN
Before
The CDN billing system has a performance issue in log system. There are some instances with a load balencer here but they can't handle the peak value.
Because of that, some of the logs are missing and we can't have correctly bill for out customers.
Load balencer
Instance
Instance
Instance
SQL
After
I did some refactor with microservice & serverless, batch insert and BigQuery.
After that, the log system works fine and also reduce about 70% instance cost.
Cloud function handler
Cloud Function
Cloud Function
Cloud Function
Insert batch pool
BigQuery
Maptile process
@Tasmap
DEMO
Last
Learned
Technology
Rust & WASM
I learning Rust & WASM because I need a fast and cross-platform programing language to help JavaScript.
In Tiat2, I replaced some heavy loading JS module (like computer vision or clustering) with Rust and WebAssembly to improve the performance to a different level.


Advantages
After replace some computer vision JS module into Rust, the Image proccessing is 5x ~10x fast than old version.
In the front-end side, the WASM also improved about 50% performance in clustering.
Disadvantages
The bundle size incressed a lot. In node-side, a basic Rust plugin can be many Mbs, and the WASM can be even larger. It's a hard issue when we are trying to build a light & fast web application.
Q & A
deck
By Eddie Hsu
deck
- 192