原创 如何在go程序中捕獲退出信號

在linux環境中除了程序本身運行結束退出外,還有很多其他的退出方式,比如我們在shell裏面直接執行命令kill或者kill -9.僅僅是多了一個-9參數就屬於不同的退出方式了,因爲他們將會給程序發送不同的信號量. 當我們執行kill的

原创 使用textfile收集監控指標

node_exporter本身除了收集系統指標以外,還可以通過textfile模塊來採集用戶自己生成的指標,這對於系統監控提供了更多的使用空間和場景. 比如我們通過shell腳本採集的數據結果就可以通過該途徑傳遞出去,用於繪圖或告警等.

原创 Node-Event模塊簡介

Node的大量核心的API都是構建在Event模塊上面的,比如stream模塊,該模塊內置的data事件可在數據到來時觸發,一旦stream流對象爲可讀狀態則發送readable事件,當數據讀寫完畢後發送end事件等。發送事件其實並非st

原创 使用golang編寫Prometheus Exporter

Exporter是基於Prometheus實施的監控系統中重要的組成部分,承擔數據指標的採集工作,官方的exporter列表中已經包含了常見的絕大多數的系統指標監控,比如用於機器性能監控的node_exporter, 用於網絡設備監控的

原创 Protobuf3入門指南

Protobuf是google開發的一種跨語言和平臺的序列化數據結構的方式,類似於XML但是更小更快而且更簡單,只需要定義一次結構體,通過生成的源代碼可以在不同的數據流和不同的語言平臺上去讀寫數據結構。 最新的protobuf3支持更多的

原创 Express 開發與部署最佳實踐

本篇文章翻譯自expressjs官方網站,源地址如下:express最佳實踐 ,分別從dev角度和ops角度討論瞭如何提升express應用的運行性能以及部署的最佳方式。 歡迎訪問個人blog查看本文內容。 針對開發者需要注意的問題 對於

原创 使用Golang的Context管理上下文

golang 1.7版本中context庫被很多標準庫的模塊所使用,比如net/http和os的一些模塊中,利用這些原生模塊,我們就不需要自己再寫上下文的管理器了,直接調用函數接口即可實現,利用context我們可以實現一些比如請求的聲明