原创 客戶端禁用Keep-alive, 服務端開啓Keep-alive,會怎麼樣?

最近部署的web程序,在服務器上出現不少time_wait的連接狀態,會佔用tcp端口,費了幾天時間排查。 之前我有結論:HTTP keep-alive 是在應用層對TCP連接的滑動續約複用,如果客戶端、服務器穩定續約,就成了名副其實的

原创 自古以來,JSON序列化就是兵家必爭之地

上文講到使用ioutil.ReadAll讀取大的Response Body,出現讀取Body超時的問題。 前人引路 Stackoverflow的morganbaz的看法是: 使用iotil.ReadAll去讀取go語言裏大的Response

原创 深度分析 [go的HttpClient讀取Body超時]

故障現場 本人負責的主備集羣,發出的 HttpClient 請求有 30%概率超時, 報context deadline exceeded (Client.Timeout or context cancellation while rea

原创 nginx -g "daemon off;" 你學廢了嗎?

去年的時候寫了一篇原創《前後端分離,如何在前端項目中動態插入後端API基地址?(in docker)》, 我自認爲這篇生產實踐是對大前端、 容器化、CI/CD的得意之作。 對於前後端分離的web項目,在容器啓動的瞬間,通過腳本替換待部署環境

原创 淺談MemoryCache的原生插值方式

.NET運行時內置了常用的緩存模塊: MemoryCache 標準的MemoryCache暴露了如下幾個屬性和方法: public int Count { get; } public void Compact(double percenta

原创 解讀三組容易混淆的Dockerfile指令

長話短說,今天分享三組容易混淆的Dockerfile指令, 幫助大家編寫更優雅的Dockfile文件、構建更純淨的Docker鏡像。 COPY vs ADD COPY、ADD主體功能類似:從指定位置拷貝文件到Docker鏡像。 COPY

原创 使用dotnet Cli向nuget發佈包

長話短說, 今天分享如何在nuget.org創建併發布.NET Standard package。 前置 安裝勾選.NET Core開發套件的Visual Studio; 安裝dotnet Cli 從VS2017開始,dotnet

原创 掌握了Docker Layer Caching纔敢自稱精通Dockerfile

長話短說: 本次原創將向您展示在Docker中使用Layer Cache以加快鏡像構建。 這個話題的初衷在於:應用程序打包過程是很慢的(下載並安裝框架&第三方依賴包、生成assets),這在Docker中也不例外。 About Laye

原创 如何在Windows上使用Git創建一個可執行腳本?

長話短說,今天介紹如何在windows上使用Git上創建一個可執行的shell腳本。 首先我們要知道windows上Git新添加的文件權限是:-rw-r--r--(對應權限值是644),而通常創建的shell腳本都希望天然可執行,故有必要

原创 我們爲什麼推薦在Json中使用string表示Number屬性值?

在這篇簡短的文章中,我將解釋在使用JSON傳輸數據時,爲什麼浮點數或大十進制值應表示爲字符串 。 long類型引發的詭異情況 長話短說,同事在利用swagger對接後端API時,詭異的發現swaggerUI中顯示的json屬性值並不是api

原创 [麻雀雖小,五臟俱全] 之網站重寫之路

入職三年, 除了參與公司核心產品研發外,另外負責了一個2C的小項目: 調用API拿到解析結果 & 計費。 項目最初是.NetCore 1.0-Preview+sqlite部署在IIS上,閒來沒事,這個項目已經被我完全重寫,在此記錄一些自認

原创 2020年必須掌握的硬核技能k8s

Kubernetes 是一個軟件系統,使你在數以萬計的電腦節點上運行軟件時就像 所有節點是以單個大節點一樣, 它將底層基礎設施抽象,這樣做同時簡化了應用開發、部署,以及對開發和運維團隊的管理。 Kubernetes集羣架構 Kubernet

原创 [半翻] 設計面向DDD的微服務

這篇文章行文結構對照微軟博客, 結合本人意譯和多年實踐的回顧思考形成此次讀書筆記。 Domian-driven Design 領域-驅動-設計(DDD)提倡基於(用例相關的現實業務)進行建模。 1. DDD的視角 DDD將現實問題視

原创 3分鐘掌握Quartz.net分佈式定時任務的姿勢

引言 長話短說,今天聊一聊分佈式定時任務,我的流水賬筆記: ASP.NET Core+Quartz.Net實現web定時任務 AspNetCore結合Redis實踐消息隊列 細心朋友稍一分析,就知道還有問題: 水平擴展後的WebApp的

原创 C#兩大知名Redis客戶端連接哨兵集羣的姿勢

前言 前面利用《Docker-Compose搭建Redis高可用哨兵集羣》, 我們的思路是將Redis、Sentinel、Redis Client App鏈接到同一個網橋網絡,這個網橋內的Redis Client App就可以使用Conta