原创 我獲得的職業生涯發展最佳建議

原文:https://humanwhocodes.com/blog/2013/10/15/the-best-career-advice-ive-received/ 作者:Nicholas C. Zakas 寫在前面 最近,我和一位同事進行

原创 程序員怎麼做溝通?聊一聊程序員溝通相關的問題

一、程序員不善言詞 在大家的印象中,程序員好像是一羣不善言詞的理工男。爲什麼大家會有這種刻板的印象呢? 因爲程序員的工作,只需要一臺電腦,一根網線,就可以開始工作了。好像不需要與人打交道。一段進入到工作狀態,編碼的時候還不希望被別人打擾,其

原创 Golang gRPC學習(05): retry重試

什麼是重試 如果服務出現了錯誤,主要是網絡,服務器出現了短暫異常的時候,該怎麼辦? 我們都會人工或者自動的重新連接服務試試,看服務是否恢復可用了。 這種重新進行連接服務的一種方式就是重試。如果是在微服務裏,應該屬於微服務治理的範疇。 重試是

原创 全面瞭解事務、分佈式事務理論及其實現方案

一、用戶匯款場景 用戶 A 的賬戶存有 2200 元,用戶 B 的賬戶存有 1600 元。現在用戶 A 給用戶 B 匯款 200 元,正確的執行步驟爲: A 用戶:A存款 = 2200 - 200 B 用戶:B存款 = 1600 +

原创 微服務架構學習與思考(14):監控和可觀測性詳細介紹

一、APP故障小故事 在一個休息日的週六,你和朋友在公司附近逛街,突然,老闆來了一通電話: 老闆:小王,我們 APP 購物詳情頁面,怎麼突然訪問不了,一直在那裏加載,出了什麼 bug,趕緊看看? 小王:好的,老闆,你等等,我馬上回來

原创 kubernetes(k8s)大白學習02:容器和docker基礎、使用、架構學習

一、什麼是容器 容器簡介 簡單說:容器(container)就是計算機上的一個沙盒進程,它與計算機上的所有其它進程相隔離。 這種隔離是怎麼做到的呢?它利用了內核提供的 namespace 和 cgroup 這 2 種技術。這些技術能力在 L

原创 微服務架構學習與思考(13):分佈式配置中心

一、配置中心的誕生 用編程語言編寫應用項目時,一般都會有項目的配置文件。比如用 java 編寫項目,有一個 properties 的配置文件,會把一些配置信息寫入到該文本文件中,例如數據庫相關的配置信息。 這也體現了軟件設計的一個原則:關注

原创 軟件設計中的一些原則介紹

軟件設計原則介紹: 軟件設計的目的:代碼複用性、可擴展性、可維護性。 高內聚低耦合(High Cohesion & Low coupling) 高內聚,就是對軟件系統中元素職責相關性和集中度高的功能放一起。在編寫代碼時,代碼內的功能職責相關

原创 分佈式搜索引擎Elasticsearch基礎入門學習

一、Elasticsearch介紹 Elasticsearch介紹 Elasticsearh 是 elastic.co 公司開發的分佈式搜索引擎。 Elasticsearch(簡稱ES)是一個開源的分佈式、高度可擴展的全文搜索和分析引擎。

原创 Go坑:time.After可能導致的內存泄露問題分析

Go 中 time.After 可能導致的內存泄露 一、Time 包中定時器函數 go v1.20.4 定時函數:NewTicker,NewTimer 和 time.After 介紹 time 包中有 3 個比較常用的定時函數:NewT

原创 數字化轉型的一般步驟和內容簡介

什麼是數字化轉型 數字化轉型是指利用數字技術對企業或組織進行全面的變革,以提高其效率、創新能力和競爭力。數字化轉型涵蓋多個方面,包括業務流程、產品和服務、運營模式、客戶體驗等,旨在通過數字化技術的應用來實現企業的戰略目標和長期發展。數字化轉

原创 (微服務)服務治理:熔斷器介紹以及hystrix-go的使用

一、什麼是熔斷器 要理解熔斷器,可以先看看電路中使用的保險絲。 保險絲(fuse)也被稱爲電流保險絲,IEC127 標準將它定義爲“熔斷體(fuse-link)”。保險絲是一種保證電路安全運行的電子元器件,作用就是在電流異常升高到一定的高度

原创 Go微服務框架go-kratos實戰學習08:負載均衡基本使用

微服務框架 go-kratos 中負載均衡使用 一、介紹 在前面這篇文章 負載均衡和它的算法介紹,講了什麼是負載均衡以及作用、算法介紹。 go-kratos 的負載均衡主要接口是 Selector,它是一個可插拔的設計。因爲它設計的都是接口

原创 微服務架構系列文章集合

微服務系列目錄 微服務架構思考系列 Go 微服務實戰系列:go-kratos 微服務架構思考系列 微服務架構學習與思考(01):什麼是微服務?微服務的優勢和劣勢 微服務架構學習與思考(02):微服務實施前有哪些問題需要思考?

原创 golang常用庫包:log日誌記錄-uber的Go日誌庫zap使用詳解

Go 日誌記錄庫:uber-go 的日誌操作庫 zap 使用 一、簡介 zap 是 uber 開源的一個高性能,結構化,分級記錄的日誌記錄包。 go1.20.2 zap v1.24.0 zap的特性 高性能:zap 對日誌輸出進行了