原创 docker swarm簡介

簡介 Docker Swarm 是一個爲 IT 運維提供集羣和調度能力的編排工具。 官方文檔:https://docs.docker.com/swarm/ 運行 Docker 的主機可以主動初始化一個 Swarm 集羣或者加入一個已存

原创 區塊鏈項目:golang內存泄漏,goroutine泄漏排查

一、pprof的使用 ##pprof的啓動及操作 import _ "net/http/pprof" go func() { http.ListenAndServe("0.0.0.0:11181", nil) }() 然後通過網

原创 fabric 國密庫相關編譯問題

背景 在區塊鏈中採用國密加密算法,涉及到c代碼編譯成動態庫供golang調用的問題。要滿足linux下可運行,Darwin下可運行。linux下的相關編譯已經在另一篇博文上記錄過,已經可以運行。這裏主要總結mac下的相關問題。 問題

原创 golang coredump分析

背景 最近在分析golang的一個內存泄漏問題。一般來講,使用golang自帶的pprof工具就可以分析內存的使用,協程情況,是否有block等情況。但是我們項目中調用了C庫,導致C庫的一些東西沒法通過pprof來進行監控分析。實際上

原创 ssh連接超時解決方法

ssh連接超時,主要有以下三種方法來解決: 1.修改server的/etc/ssh/sshd_config,添加下面兩個選項: ClientAliveInterval 60 //server每隔60秒發送一次請求給client,然後

原创 fabric 共識模塊解讀

本文主要分析fabric共識模塊的流程,方便自己添加新的共識模塊。 主要涉及的函數和調用流程如下圖所示: 一般來講,如果要添加新的共識算法,主要實現這個接口: type Chain interface { // NOTE:

原创 fabric:gossip協議

gossip協議主要是一個P2P的網絡傳輸協議。fabric主要通過此協議來進行區塊的同步。具體地,leaderpeer節點會從orderer把區塊拿到,然後把區塊同步到該組織的其它peer節點。anchor peer節點主要用來同步各組

原创 fabric 1.2運行出錯:Unable to decode a Kafka packet

fabric 1.2運行示例e2e時報錯: Unable to decode a Kafka packet. Usually, this indicates that the Kafka.Version specified in the

原创 docker stats show a wrong value of block I/O when using dd if=/dev/zero in a container

問題: 在做對container監控時,查看磁盤的大小情況,發現docker stats的BLOCK I/O與用dd if=/dev/zero命令測試的結果有出入。 docker stats解析: 一般來說,對於docker的監控,有三種

原创 linux 進程內存佔用高分析

通過free命令可以查看系統內存使用情況: free -m total used free shared buff/cache available Mem:

原创 fabric 1.2編譯出錯:common/crypto/tlsgen/key.go:36:20: undefined: x509.MarshalPKCS8PrivateKey

fabric 1.2編譯出現如下錯誤: common/crypto/tlsgen/key.go:36:20: undefined: x509.MarshalPKCS8PrivateKey 解決:這個由於golang版本太低,有些類型沒有

原创 區塊鏈項目:生產環境上chaincode容器不斷重啓的排查

背景 在做區塊鏈項目時,銀行發送業務交易時有時會出現超時,報錯的response;於是跟蹤部署的服務的相關容器,發現業務chaincode容器存在不斷重啓的現象,業務chaincode容器存活一般幾分鐘到幾小時不等。這說明chainco

原创 git常見使用命令

這裏列舉一下git常見使用命令: 1、從遠程庫下載: git clone xxx.git 2、查看當前分支狀態: git status 3、查看當前有哪些分支: git branch -a 4、在工作區的第一次修改被放入暫存

原创 etcd集羣搭建

etcd集羣搭建 下載安裝 從這下載https://github.com/coreos/etcd/releases/download/v3.3.2/etcd-v3.3.2-linux-amd64.tar.gz tar xzvf etcd

原创 監控進程內存使用情況腳本程序

#!/bin/bash PROCESS=backEnd LOG="./memlog.txt" echo "$LOG" #刪除上次的監控文件 if [ -f "$LOG" ];then rm "$LOG" fi #過濾出需要的