原创 從單機到分佈式微服務,大文件校驗上傳的通用解決方案

一、先說結論 本文將結合我的工作實戰經歷,總結和提煉一種從單體架構到分佈式微服務都適用的一種文件上傳和校驗的通用解決方案,形成一個完整的方法論。本文主要解決手段包括多線程、設計模式、分而治之、MapReduce等,雖然文中使用的編程語言爲J

原创 我的2023--即將30歲的程序員,不得不說的那些怨念

作爲一個即將年滿30歲的程序員,如果用一句話總結我自己的2023年,這句話應該是什麼?這個問題還真把我難住了。這一年是百感交集啊。糾結良久,我打算這樣來總結我的2023:平凡而滿意的生活,累而不得的工作,再次起航的寫作生涯,當然還有焦慮而迷

原创 FMEA:總監和架構師都在用的高可用架構分析方法

FMEA:總監和架構師都在用的高可用架構分析方法 記得之前準備春晚項目的時候,團隊成員在一起過架構,老闆最常問的問題是“這個組件掛了怎麼辦?有什麼影響?”,我當時還在心裏默默嘀咕:這咋都這麼容易掛呢?其他組件不做高可用的嗎?最近看到FMEA

原创 ConcurrentModificationException日誌關鍵字報警引發的思考

本文將記錄和分析日誌中的ConcurrentModificationException關鍵字報警,還有一些我的思考,希望對大家有幫助。 一、背景 近期,在日常的日誌關鍵字報警分析時,發現我負責的一個電商核心系統在某時段存在較多Concurr

原创 6張圖表 + 1個案例 帶你入門tcpdump的使用和原理

一、tcpdump簡介 tcpdump是什麼? 來看看 tcpdump官網怎麼說:This is the home web site of tcpdump, a powerful command-line packet analyzer;

原创 我的2022——有點卷、沒學習、還羊了

夜幕下的北京,迎來全新的一年,屏幕前的我,又到了該做年終總結的時候了。MacBook的攝像頭像Moss一樣,注視着我,注視着紅塵。在Moss的眼中,可能所有的悲歡離合都沒有什麼大不了,世間一切都可以通過計算得出最優解,但是畢竟我身處世間,每

原创 花1分鐘配置遠程DEBUG,開發效率翻倍,妹子直呼絕絕子

當把一個工程部署到遠程服務器後有可能出現意想不到錯誤,日誌打印過多或者過少都影響問題排查的效率,這個時候可以通過遠程調試的方式快速定位bug,提升工作效率。本文主要講解如何使用Idea開發工具進行遠程調試,希望對你有幫助。 一、環境配置 1

原创 一文精通HashMap靈魂七問,你學還是不學

如果讓你看一篇文章,就可以精通HashMap,成爲硬剛纔面試官的高手,你學還是不學? 彆着急,開始之前不如先嚐試回來下面幾個問題吧: HashMap的底層結構是什麼? 什麼時候HashMap中的鏈表會轉化爲紅黑樹? 爲什麼當鏈表長度超過8個

原创 我的2021--終身學習之路從這裏開始

時間是一隻藏在黑暗中溫柔的手,在我一出神一恍惚之間,物走星移。又到了新年,又到了屬於年終總結的時間。 翻開2021年初立下的Flag,是否都已經實現? 終身學習之路 2021年度在極客時間學習120個小時,獲得5個證書:《從0開始學架構》

原创 Elasticsearch核心技術(五):搜索API和搜索運行機制

本文將從數據存儲和搜索的角度簡單分析Elasticsearch的搜索運行機制,主要涉及搜索API、搜索機制、存在問題和解決方案。 4.1 Search API Search API允許用戶執行一個搜索查詢並返回匹配查詢的搜索命中結果。 El

原创 最常用的分佈式ID解決方案,你知道幾個

一、分佈式ID概念 說起ID,特性就是唯一,在人的世界裏,ID就是身份證,是每個人的唯一的身份標識。在複雜的分佈式系統中,往往也需要對大量的數據和消息進行唯一標識。舉個例子,數據庫的ID字段在單體的情況下可以使用自增來作爲ID,但是對數據分

原创 設計模式:如何優雅地使用工廠模式

本文從是什麼、爲什麼、怎麼做的三個步驟,分析簡單工廠模式、工廠方法模式和抽象工廠模式,通過框架源碼學習如何優雅地使用工廠模式。 一、什麼是工廠模式? 關於什麼是工廠模式這個問題呢?其實完全可以見名知意,工廠是做什麼的?工廠是生產產品的地方啊