Rewriting Github webhook backend services with Golang


I wrote a while back [continuous integration using Github’s Webhook feature] (,
At the time using nodejs to write a webhook backend service .
The program has been running steadily for a period of time, during which there are no major problems.
But after all, it is a js program, idle state takes up dozens of Mb of memory, on an HTTP listening to take up so much is not a joke?
Another problem is that the program is running in Linux will be a node process, this time if you have several nodejs-driven programs running on the server at the same time. You can imagine the spectacle.


so decided to use go to re-implement this tool , basically a complete replica of the old nodejs project and then add the configuration file function .

The service is running again , memory usage is about nodejs project **one-eighth to one-tenth of **.
And a node process is no longer displayed in the background.


Now it seems that the scripting language is not too suitable for server-side development , even if the service has been running or would like to use the compiled language to rewrite .
And thanks to the language level to improve the design and more modern general-purpose library seems to Go development efficiency is not much lower than js Oh .