LQH入職16天 功能模組

2021-10-06 17:59:44 字數 1772 閱讀 1736

方便測試人員測試使用

// traceid 獲取ctx中span的traceid,若無則返回空字串

func

traceid

(ctx context.context)

string

}return

""}

和傳統單體服務不同, 微服務通常部署在乙個分布式的系統中, 並且乙個請求可能會經過好幾個微服務的處理,

這樣的環境下錯誤和效能問題就會更容易發生, 所以觀察(observe)尤為重要, 這就是tracing的用武之地,

它收集呼叫過程中的資訊並視覺化, 讓你知道在每乙個服務呼叫過程的耗時等情況, 以便及早發現問題.

// 生成uuid

func

(c *basecontroller)

generateuuid

(ctx context.context)

string

uuid是universally unique identifier的縮寫,即通用唯一識別碼。

uuid的目的是讓分布式系統中的所有元素,都能有唯一的辨識資訊,而不需要透過**控制端來做辨識資訊的指定。如此一來,每個人都可以建立不與其它人衝突的

uuid。

func

i***ceedmaxlength

(ctx context.context,text string

,maxlen int)(

error

)return

nil}

go 語言中 utf-8 包提供的 runecountinstring() 函式,統計 uncode 字元數量。

// 從header獲取校驗資訊

func

(c *basecontroller)

authheader

(ctx context.context)

(result *authheaderresult, err error

)for

_, key :=

range

string

} timestampstr := c.

convertheaderdata

(headers[

"timestamp"][

0]) timestamp, err := strconv.

atoi

(timestampstr)

if err !=

nil result =

&authheaderresult

result.timestamp =

int64

(timestamp)

return

}

// 驗證簽名

func

(c *basecontroller)

authsign

)error

return

nil}

func

(c *basecontroller)

generatesign

(nonce string

, timestamp int64

, secretkey string

)string

6、處理任務

LQH入職第三天

1 遠端連線mysql homebrew是一款mac os平台下的軟體包管理工具,擁有安裝 解除安裝 更新 檢視 搜尋等很多實用的功能。安裝包brew install 解除安裝包 brew uninstall brew search mysqlbrew install mysql 5.7 c 設定密...

LQH入職第四天

1 如何md5加密演算法 客戶端 鹽 字串 md5 伺服器端 鹽 字串 md5 資料庫 原理 如果是用的https則無需加密,因為https會將傳輸的檔案加密,不用擔心第三方會獲取途中的資料 2 md5 對稱加密 非對稱加密的比較區別 1 md5是一種不可逆的加密,一定記住是不可逆的。2 對稱的加密...

LQH入職第二天

1 從gitlib上拉下 命令 git clone https www.com.git 2 永久的配置go環境 使用 go env w 例如 go env w goprivate corp.example.com go env w go111module on 3 golang goproxy 設定...