原创 關於電商庫存扣減的解決方案

  目錄 下單鎖定庫存     付款減庫存 採用虛擬庫存和實際庫存,redis+mysql(推薦) 爲什麼要預扣? 怎麼檢測庫存不一致? 電商中很常見的就是庫存扣減的問題了,那麼究竟有哪些解決方案以及各自的優缺點呢?一共總結有幾種方式 下

原创 問題排查手段好文章。JAVA 線上故障排查套路

  目錄 CPU 頻繁GC 磁盤 內存 gc問題和線程  GC 問題 youngGC 過頻繁 youngGC 耗時過長 觸發 fullGC 網絡 超時 TCP 隊列溢出 TIME_WAIT CLOSE_WAIT   線上故障主要會包括 C

原创 認識ElasticSearch

elasticsearch:分佈式檢索引擎,擴展性好 使用Lucene作爲核心,通過restful api來請求使搜索變得簡單 特點:分佈式,多用戶,搜索引擎,restful web接口,支持實時get請求,適合作爲nosql數據存儲,但

原创 支付微服務架構調用流程以及一些要點記錄

目錄 支付服務特點 流程圖   支付中一般都會遇到什麼問題以及解決方案? 用戶惡意下單(刷單)怎麼辦? 如何防止重複下單? 支付回調併發怎麼辦? 如何做到冪等性? 回調延時,如何解決? 如何保證數據一致性? mq通知失敗怎麼辦? mq重複

原创 Java OOM原因以及問題分析排查步驟

  Java服務OOM,最常見的原因爲: (1)有可能是內存分配確實過小,而正常業務需要使用更大的內存; (2)某一個對象被頻繁申請,卻沒有釋放,內存不斷泄露,導致內存耗盡; (3)某一個資源被不斷申請,系統資源耗盡,例如:不斷創建線程,

原创 微服務:支付服務接口代碼設計

最近一直在深入學習一些知識,整理出一些東西一直沒有時間寫出來,後續會慢慢總結一下寫在博客上,對於博客還是不想專門寫知識點,總結和提升終究是爲了自己,寫出來的博客爲了讓別人看的好,更爲了自己的成長和記錄,這種記錄不僅僅是知識,知識不僅僅是

原创 怎麼看待認識開發,產品,和整個團隊的合作?

有一段時間沒有寫博客了,最近幾個月比較忙,再加上一些惰性也沒有提起筆來,昨天讀了一個大神的寫作說到寫作積累思考的一些重要性,鄙人頓時自慚形穢,奮筆疾書,總結一下心得吧 最近一直打磨產品和業務,在想大家是怎麼看待開發,產品,和整個團隊的?如

原创 app幾種推送方式和設計方式以及注意事項,完整的詮釋

 前幾個月研究推送,小記一下,網上資料亂糟糟還沒有文檔說的明白 裏面有很多其他功能,比如定時,比如別名,比如拉數據等等這些是後續的動作暫且不說,對於推送本身先多理解完善,後續好辦 除了推送其他我就不說了,看文檔接入即可,錯誤碼去文檔中找,

原创 volatile實踐,必須弄懂它!

  這篇文章算是重構了,知識這種東西,理解的不深,用的就猶豫   爲什麼會線程不安全? 計算機在執行程序時,每條指令都是在CPU中執行的,而執行指令過程中會涉及到數據的讀取和寫入。程序運行過程中的臨時數據是存放在主存(物理內存)當中的,由

原创 Android / IOS 推送的java服務端這幾種設計你知道嗎?

開發十年,就只剩下這套架構體系了! >>>     前幾個月研究推送,小記一下,網上資料亂糟糟還沒有文檔說的明白 裏面有很多其他功能,比如定時,比如別名,比如拉數據等等這些是後續的動作暫且不說,對於推送本身先多理解完善,後續好辦 除

原创 cpu佔用過高排查分析解決,簡單方便

   要想遇到個CPU過高也不是件容易的事啊,先模擬下吧 @GetMapping("/letCpuBuisy") public void letCpuBuisy(){ int i=0; while

原创 關於springboot集成apollo加載配置文件application.properties的簡便方式

  安裝 大家如果嫌github慢,其實gitee也可以,https://gitee.com/lepdou/apollo?_from=gitee_search 官方的文檔還是比較全的,具體的安裝步驟我就不一一說了:https://gith

原创 關於線程安全的小測試

  起100個線程 + 1,循環100次查看結果,正常來說應該是100對吧 public static int t = 0; public static void main(String[] args) throws Inter