不安全的雙檢鎖 從其他語(yǔ)言轉(zhuǎn)入Go語(yǔ)言的同學(xué)經(jīng)常會(huì)陷入一個(gè)思考:如何創(chuàng)建一個(gè)單例? 有些同學(xué)可能會(huì)把其它語(yǔ)言中的雙檢鎖模式移植過來,雙檢鎖模式也稱為懶漢模式,首次用到的時(shí)候才...
不安全的雙檢鎖 從其他語(yǔ)言轉(zhuǎn)入Go語(yǔ)言的同學(xué)經(jīng)常會(huì)陷入一個(gè)思考:如何創(chuàng)建一個(gè)單例? 有些同學(xué)可能會(huì)把其它語(yǔ)言中的雙檢鎖模式移植過來,雙檢鎖模式也稱為懶漢模式,首次用到的時(shí)候才...
在上一篇文章中我實(shí)現(xiàn)了一個(gè)支持Debug、Info、Error等多個(gè)級(jí)別的日志庫(kù),并將日志寫到了磁盤文件中,代碼比較簡(jiǎn)單,適合練手。有興趣的可以通過這個(gè)鏈接前往:https:...
Golang標(biāo)準(zhǔn)日志庫(kù)提供的日志輸出方法有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è)知名三方庫(kù),其為Go標(biāo)準(zhǔn)庫(kù)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ǔ)軟件全部國(guó)產(chǎn)化,其中操作系統(tǒng)指定銀河麒麟,數(shù)據(jù)庫(kù)使用達(dá)夢(mèng)V8,CPU平臺(tái)的范圍包括x64、龍芯、飛騰、鯤鵬等??紤]到這些基礎(chǔ)產(chǎn)品對(duì).NET的支持,最...
一、背景: 最近在開發(fā)過程中遇到一個(gè)問題,項(xiàng)目上線后幾分鐘后就會(huì)報(bào)錯(cuò)”數(shù)據(jù)庫(kù)連接池已滿、連接超時(shí)”,項(xiàng)目就宕掉了。后來細(xì)心的同事發(fā)現(xiàn)了可疑的點(diǎn),操作數(shù)據(jù)庫(kù)后沒有將連接Clos...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國(guó)產(chǎn)化,其中操作系統(tǒng)指定銀河麒麟,銀河麒麟就是一個(gè)Linux發(fā)行版,數(shù)據(jù)庫(kù)使用達(dá)夢(mèng)V8,這個(gè)數(shù)據(jù)庫(kù)很多概念和Oracle相似,CPU平臺(tái)的范...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國(guó)產(chǎn)化,其中操作系統(tǒng)指定銀河麒麟,數(shù)據(jù)庫(kù)使用DM8。 雖然在之前的文章中已經(jīng)成功模擬國(guó)產(chǎn)飛騰處理器,但是運(yùn)行效率不高,所以這里的銀河麒麟操作...
背景 某個(gè)項(xiàng)目需要實(shí)現(xiàn)基礎(chǔ)軟件全部國(guó)產(chǎn)化,其中操作系統(tǒng)指定銀河麒麟v4,CPU使用飛騰處理器。飛騰處理器是ARMv8架構(gòu)的,在之前的文章中介紹了使用QEMU模擬ARMv8架構(gòu)...
grpcui類似Swagger UI,可以用來測(cè)試gRPC服務(wù),使用起來特別簡(jiǎn)單。 其原理是通過自動(dòng)發(fā)現(xiàn)gRPC服務(wù)協(xié)議(當(dāng)然前提是gRPC服務(wù)暴露了Protobuf協(xié)議),...