—— 為什么 NSQ 的 DiskQueue 不用鎖也能做到高性能、強(qiáng)一致? NSQ 的 diskqueue 是一個(gè)極其優(yōu)雅的磁盤持久化 FIF...
前言 在網(wǎng)絡(luò)通信中,TCP 協(xié)議因其可靠性成為主流選擇,但它的 "流式傳輸" 特性卻給消息解析埋下了一個(gè)坑 ——黏包與拆包。對(duì)于 NSQ 這類消...
摘要 本文給出一個(gè)落地可執(zhí)行的 Go + DDD 代碼組織方案。包含:分層含義、推薦目錄樹、包命名與文件命名規(guī)范、典型代碼片段(領(lǐng)域?qū)嶓w、倉儲(chǔ)接...
前言 在并發(fā)編程、分布式系統(tǒng)或 Web 開發(fā)中,你一定聽過 “Context”(上下文)這個(gè)詞。它像一個(gè) “隱形的信使”,在不同組件、函數(shù)或服務(wù)...
前言 在 Go 語言開發(fā)中,錯(cuò)誤處理是保障程序健壯性的核心環(huán)節(jié)。與 Java、Python 等語言的 “異常捕獲” 機(jī)制不同,Go 采用顯式錯(cuò)誤...
前言 作為剛?cè)腴T Go 的開發(fā)者,很容易帶著其他語言的習(xí)慣寫代碼,比如忽略錯(cuò)誤、濫用 goroutine,最后導(dǎo)致程序出 bug 卻找不到原因。...
介紹 robfig/cron[https://github.com/robfig/cron]是Go語言實(shí)現(xiàn)的開源定時(shí)任務(wù)調(diào)度框架,核心代碼是巧妙...
在線編碼、格式轉(zhuǎn)換 前言 日常開發(fā)或運(yùn)維會(huì)比較常遇到日志中的內(nèi)容格式不直觀,需要轉(zhuǎn)碼或格式化的情況,這時(shí)候常常是去網(wǎng)上搜索在線工具,不但耗時(shí)耗力...
背景 有上萬臺(tái)邊緣機(jī)器,每臺(tái)都會(huì)有多個(gè)agent客戶端,并且每個(gè)agent都會(huì)同時(shí)向中心系統(tǒng)上報(bào)數(shù)據(jù),由于上報(bào)數(shù)據(jù)頻繁,并發(fā)量也大,每個(gè)agen...