Golang basics & Handling 100k hourly webhooks with golang @MimePost

What this talk about?

I am working on Golang for the last 1 year from the published date. I have shared some basics of Golang.

Also, shared What are the pain points developers face when they migrate from any other language (Especially from web language like PHP) to Golang?

I have explained the Webhook architecture of MimePost And how we sending 100k Request hourly( Though Benchmark proves we can scale up to 500k).

Shown some immature code which given me a better understanding of 100% CPU utilization and How I waste my major time to debug on silly things.

Shared one of our error and it’s solutions related to How you can avoid race conditions on “map” type variables.


Talk Video

Demo - 1

This code will make 100% CPU utilization and forever() function not going to share any single CPU time with anotherGoroutine()

Demo - 2

Reproduce Golang “fatal error: concurrent map writes” & Solution. To reproduce comment Mutex related all operation like line no. 12, 30, 32, 44, 46. Mutex is use to prevent race condition which generates this error.

Find more details on this blog.

Feel free to comment below, If you have any doubts or suggestion about this talk.