不安全的雙檢鎖 從其他語言轉(zhuǎn)入Go語言的同學(xué)經(jīng)常會(huì)陷入一個(gè)思考:如何創(chuàng)建一個(gè)單例逗扒? 有些同學(xué)可能會(huì)把其它語言中的雙檢鎖模式移植過來忘瓦,雙檢鎖模式也稱為懶漢模式,首次用到的時(shí)候才...
![240](https://upload.jianshu.io/users/upload_avatars/12634973/d6519f67-db6c-45f0-b4ac-1f6e0a9c0bc8.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
不安全的雙檢鎖 從其他語言轉(zhuǎn)入Go語言的同學(xué)經(jīng)常會(huì)陷入一個(gè)思考:如何創(chuàng)建一個(gè)單例逗扒? 有些同學(xué)可能會(huì)把其它語言中的雙檢鎖模式移植過來忘瓦,雙檢鎖模式也稱為懶漢模式,首次用到的時(shí)候才...
在上一篇文章中我實(shí)現(xiàn)了一個(gè)支持Debug叠骑、Info火本、Error等多個(gè)級(jí)別的日志庫,并將日志寫到了磁盤文件中温学,代碼比較簡(jiǎn)單略贮,適合練手。有興趣的可以通過這個(gè)鏈接前往:https:...
Golang標(biāo)準(zhǔn)日志庫提供的日志輸出方法有Print仗岖、Fatal逃延、Panic等,沒有常見的Debug轧拄、Info揽祥、Error等日志級(jí)別,用起來不太順手檩电。這篇文章就來手?jǐn)]一個(gè)自己...
在go-micro中異步消息的收發(fā)是通過Broker這個(gè)組件來完成的拄丰,底層實(shí)現(xiàn)有RabbitMQ、Kafka俐末、Redis等等很多種方式料按,這篇文章主要介紹go-micro使用R...
sqlx是Golang中的一個(gè)知名三方庫,其為Go標(biāo)準(zhǔn)庫database/sql提供了一組擴(kuò)展支持卓箫。使用它可以方便的在數(shù)據(jù)行與Golang的結(jié)構(gòu)體载矿、映射和切片之間進(jìn)行轉(zhuǎn)換,從...
前幾天有個(gè)同學(xué)想了解下如何在go-micro中做鏈路跟蹤烹卒,這幾天正好看到wrapper這塊闷盔,wrapper這個(gè)東西在某些框架中也稱為中間件,里邊有個(gè)opentracing的插...
go-micro v4默認(rèn)使用mdns做服務(wù)發(fā)現(xiàn)旅急。不過也支持采用其它的服務(wù)發(fā)現(xiàn)中間件逢勾,因?yàn)槎嗄陙硪恢笔褂肅onsul做服務(wù)發(fā)現(xiàn),為了方便和其它服務(wù)集成坠非,所以還是選擇了Cons...
go-micro是一個(gè)知名的golang微服務(wù)框架敏沉,最新版本是v4,這篇文章將介紹go-micro v4開發(fā)RPC服務(wù)的方法及其運(yùn)作原理炎码。 基本概念 go-micro有幾個(gè)重...
在之前的文章中分別介紹了使用gRPC官方插件和go-micro插件開發(fā)gRPC應(yīng)用程序的方式盟迟,都能正常走通。不過當(dāng)兩者混合使用的時(shí)候潦闲,互相訪問就成了問題攒菠。比如使用go-mic...
go-micro是golang的一個(gè)微服務(wù)框架。 go-micro各個(gè)版本之間的兼容性問題一直被詬病歉闰,前幾年go-micro更是分化出了兩個(gè)分支: 一個(gè)延續(xù)了go-micro...
gRPC是Google發(fā)起的一個(gè)開源RPC框架辖众,使用HTTP/2傳輸協(xié)議卓起,使用Protocol Buffers編碼協(xié)議,相比RESTful框架的程序性能提高不少凹炸,而且當(dāng)前流行...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國產(chǎn)化戏阅,其中操作系統(tǒng)指定銀河麒麟,數(shù)據(jù)庫使用達(dá)夢(mèng)V8啤它,CPU平臺(tái)的范圍包括x64奕筐、龍芯、飛騰变骡、鯤鵬等离赫。考慮到這些基礎(chǔ)產(chǎn)品對(duì).NET的支持塌碌,最...
一、背景: 最近在開發(fā)過程中遇到一個(gè)問題台妆,項(xiàng)目上線后幾分鐘后就會(huì)報(bào)錯(cuò)”數(shù)據(jù)庫連接池已滿翎猛、連接超時(shí)”,項(xiàng)目就宕掉了频丘。后來細(xì)心的同事發(fā)現(xiàn)了可疑的點(diǎn)办成,操作數(shù)據(jù)庫后沒有將連接Clos...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國產(chǎn)化,其中操作系統(tǒng)指定銀河麒麟搂漠,銀河麒麟就是一個(gè)Linux發(fā)行版迂卢,數(shù)據(jù)庫使用達(dá)夢(mèng)V8,這個(gè)數(shù)據(jù)庫很多概念和Oracle相似桐汤,CPU平臺(tái)的范...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國產(chǎn)化而克,其中操作系統(tǒng)指定銀河麒麟,數(shù)據(jù)庫使用DM8怔毛。 雖然在之前的文章中已經(jīng)成功模擬國產(chǎn)飛騰處理器员萍,但是運(yùn)行效率不高,所以這里的銀河麒麟操作...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國產(chǎn)化拣度,其中操作系統(tǒng)指定銀河麒麟v4碎绎,CPU使用飛騰處理器。飛騰處理器是ARMv8架構(gòu)的抗果,在之前的文章中介紹了使用QEMU模擬ARMv8架構(gòu)...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國產(chǎn)化筋帖,其中操作系統(tǒng)指定銀河麒麟v4,CPU使用飛騰處理器冤馏。我本地沒有這個(gè)國產(chǎn)的處理器日麸,但飛騰是基于ARMv8架構(gòu)的64位處理器,所以理論上...
grpcui類似Swagger UI逮光,可以用來測(cè)試gRPC服務(wù)代箭,使用起來特別簡(jiǎn)單墩划。 其原理是通過自動(dòng)發(fā)現(xiàn)gRPC服務(wù)協(xié)議(當(dāng)然前提是gRPC服務(wù)暴露了Protobuf協(xié)議),...