原创 平滑升級udp研究

平滑升級的一般思路 發佈新的bin文件去覆蓋老的bin文件(如只需優雅重啓,可以跳過這一步) 發送一個(USR2)信號量,告訴正在運行的進程,進行重啓 正在運行的進程收到信號後,會以子進程的方式啓動新的bin文件 子進程啓動成功

原创 工作方法及工具

通用 OneNote 使用方法及亮點。 Xmind 使用方法及亮點。 Kindle 使用方法及亮點。 收集——整理——思考——輸出,模型介紹及注意點。 番茄工作法、巴赫音樂在自我管理中應用。 鬧鐘 https://pan.baid

原创 超級賬本fabric帶持久化數據升級到1.2時所遇的 implicit threshold 問題

目錄first-network 1.2.1e2e_cli git1.2.1官方版本跑例子時e2e_cli定製版1.2.1升級時帶舊數據升級到1.2嘗試1嘗試2總結其他configtxgen等工具版本kafka/zookeeper版

原创 分析Redis

分析統計rdb文件 bgsave後,分析Redis的rdb文件,來統計各種類型key的個數 安裝redis-rdb-tools https://github.com/sripathikrishnan/redis-rdb-tools

原创 高可用負載均衡

負載均衡架構 https://www.cnblogs.com/mindwind/p/5339657.html

原创 go編譯靜態庫

go編譯靜態庫 例如我有個golang項目ucp, 項目目錄如下 . ├── README.md ├── a.out ├── client.json ├── cmd.sh ├── dist │ ├── libmudp.a │

原创 gitignore命令

在~/.bashrc文件末尾新起一行,粘貼如下腳本 #gitignore 用法: gitignore file1 file2 files... function gitignore(){ prjroot=`git re

原创 golang編譯android庫

文章目錄1. go build環境方法庫源代碼編譯命令2. xgo環境方法庫源代碼3. AndroidNDK環境方法庫源代碼編譯命令4. gomobile環境方式庫源代碼

原创 TOA(tcp option adress)安裝

1.說明 1.1.場景說明 TOA 屬於 4層轉發系統的一個功能模塊,缺省情況下服務經過 4層轉發系統,服務源站查看到的請求IP爲NAT的回源地址,這對於一些特殊業務來說(比如遊戲),是無法滿足的,TOA的功能就是讓真實源服務源站

原创 udp丟包原因分析

什麼會導致udp丟包呢,這裏列舉了如下幾點原因: 調用recv方法接收端收到數據後,處理數據花了一些時間,處理完後再次調用recv方法,在這二次調用間隔裏,發過來的包可能丟失。對於這種情況可以修改接收端,將包接收後存入一個緩衝

原创 Go 中如何準確地判斷和識別各種網絡錯誤

Go 中如何準確地判斷和識別各種網絡錯誤 發表於2018-07-29 Go 自帶的網絡標準庫可能讓很多第一次使用它的人感慨,這個庫讓網絡編程的門檻低到了令人髮指的地步。然而,封裝層次與開發人員的可控性往往是矛盾的。Go 的網絡庫封

原创 平滑升級

平滑升級的一般思路 發佈新的bin文件去覆蓋老的bin文件(如只需優雅重啓,可以跳過這一步) 發送一個(USR2)信號量,告訴正在運行的進程,進行重啓 正在運行的進程收到信號後,會以子進程的方式啓動新的bin文件 子進程啓動成功

原创 golang控制檯顯示進度條

進度條元素 [X] 總量 [X] 當前進度 [X] 耗時 通過以上元素可以延伸出:完成百分比、速度、預計剩餘時間、根據設置速度快慢閾值用不同的顏色來顯示進度條。 實現 // 進度條 type Bar struct { mu

原创 redis三個模式的區別

主從 主從複製原理 從服務器sync命令 主服務器bgsave rdb文件,緩衝區記錄命令 發送rdb快照,並繼續記錄 從服務器丟棄舊數據,載入快照 載入緩衝區命令 主服務器執行寫,會轉發從服務器寫 主從模式缺點 不具備容錯和恢復功

原创 Redis主從複製模式

Redis主從複製 參考 https://www.cnblogs.com/kevingrace/p/5685332.html 全量同步 一般發生在Slave初始化階段,過程如下: 從服務器連接主服務器,發送SYNC命令; 主服務器接收