原创 接手了一個外包開發的項目,我感覺我的頭快要裂開了~

嗨,大家好,我是飄渺。 最近,我和小夥伴一起接手了一個由外包團隊開發的微服務項目,這個項目採用了當前流行的Spring Cloud Alibaba微服務架構,並且是基於一個“大名鼎鼎”的微服務開源腳手架(附帶着模塊代碼截圖,相信很多同學一看

原创 新項目,不妨採用這種架構分層,很優雅!

大家好,我是飄渺。今天繼續更新DDD&微服務的系列文章。 在專欄開篇提到過DDD(Domain-Driven Design,領域驅動設計)學習起來較爲複雜,一方面因爲其自身涉及的概念頗多,另一方面,我們往往缺乏實戰經驗和明確的代碼模型指導。

原创 SpringBoot整合RocketMQ,老鳥們都是這麼玩的!

今天我們來討論如何在項目開發中優雅地使用RocketMQ。本文分爲三部分,第一部分實現SpringBoot與RocketMQ的整合,第二部分解決在使用RocketMQ過程中可能遇到的一些問題並解決他們,第三部分介紹如何封裝RocketMQ以

原创 分庫分表以後如何對非Sharding鍵進行查詢?

大家好呀,我是飄渺! 通過上篇文章我們知道了一個結論:那就是對於toC的業務,需要選擇用戶屬性如 user_id 作爲分片鍵。 那問題來了,對於訂單表來說,選擇了user_id作爲分片鍵以後如何查看訂單詳情呢?比如下面這樣一條SQL: SE

原创 SpringBoot中如何編寫一個優雅的限流組件?

很早以前,我曾寫過兩篇介紹如何在SpringBoot中使用Guava和Redis實現接口限流的文章。具體包括: 使用Guava實現單機令牌桶限流 使用Redis實現分佈式限流 現在,一個問題擺在我們面前:如何將這兩種限流機制整合到同一個

原创 SpringBoot如何進行限流,老鳥們還可以這樣玩!

大家好,我是飄渺。 在SpringBoot 如何進行限流,老鳥們都這麼玩的!一文中我們詳細介紹了爲什麼需要對接口進行限流,也介紹了常見的限流算法,最後還基於Guava工具類實現了接口限流。但是這種方式有個問題,無法實現分佈式限流。那今天我們

原创 SpringBoot中如何實現業務校驗,這種方式才叫優雅!

大家好,我是飄渺。 在日常的接口開發中,爲了保證接口的穩定安全,我們一般需要在接口邏輯中處理兩種校驗: 參數校驗 業務規則校驗 首先我們先看看參數校驗。 參數校驗 參數校驗很好理解,比如登錄的時候需要校驗用戶名密碼是否爲空,創建用戶的時

原创 SpringBoot 如何進行限流?老鳥們都這麼玩的!

大家好,我是飄渺。SpringBoot老鳥系列的文章已經寫了四篇,每篇的閱讀反響都還不錯,那今天繼續給大家帶來老鳥系列的第五篇,來聊聊在SpringBoot項目中如何對接口進行限流,有哪些常見的限流算法,如何優雅的進行限流(基於AOP)。

原创 SpringBoot 如何進行對象複製,老鳥們都這麼玩的!

大家好,我是飄渺。 今天帶來SpringBoot老鳥系列的第四篇,來聊聊在日常開發中如何優雅的實現對象複製。 首先我們看看爲什麼需要對象複製? 爲什麼需要對象複製 如上,是我們平時開發中最常見的三層MVC架構模型,編輯操作時Control

原创 SpringBoot 如何生成接口文檔,老鳥們都這麼玩的!

大家好,我是飄渺。 SpringBoot老鳥系列的文章已經寫了兩篇,每篇的閱讀反響都還不錯,果然大家還是對SpringBoot比較感興趣。那今天我們就帶來老鳥系列的第三篇:集成Swagger接口文檔以及Swagger的高級功能。 文章涉及到

原创 手把手教你在SpringCloud alibaba中集成ELK

概述 在單體服務中我們需要查看日誌只需直接在日誌文件中 grep、awk 就可以獲得自己想要的信息。 但是在微服務架構中,不同的服務模塊一般會部署多個節點,日誌散落在多個節點的日誌文件中。一旦出現問題,我們就需要登錄不同的服務節點分別查看日

原创 SpringBoot 如何進行參數校驗,老鳥們都這麼玩的!

大家好,我是飄渺。 前幾天寫了一篇 SpringBoot如何統一後端返回格式?老鳥們都是這樣玩的! 閱讀效果還不錯,而且被很多號主都轉載過,今天我們繼續第二篇,來聊聊在SprinBoot中如何集成參數校驗Validator,以及參數校驗的

原创 SpringBoot 如何統一後端返回格式?老鳥們都是這樣玩的!

大家好,我是飄渺。 今天我們來聊一聊在基於SpringBoot前後端分離開發模式下,如何友好的返回統一的標準格式以及如何優雅的處理全局異常。 首先我們來看看爲什麼要返回統一的標準格式? 爲什麼要對SpringBoot返回統一的標準格式 在默

原创 如何跟領導解釋爲什麼選擇SpringCloud alibaba作爲微服務開發框架

什麼是微服務 提到微服務不得不提Martin Fowler在2014年3月25日發表的文章 Microservices,裏面給出了微服務的定義。後續國內所有關於微服務的介紹都是基於這篇文章的翻譯,或加上自己的理解而成。其中最重要的一段如下:

原创 SpringCloud 微服務最佳開發實踐

現在基於SpringCloud的微服務開發日益流行,網上各種開源項目層出不窮。我們在實際工作中可以參考開源項目實現很多開箱即用的功能,但是必須要遵守一定的約定和規範。 本文結合我們實際的開發中遇到的一些問題整理出了一份微服務開發的實踐規範,