原创 【總結】SQL性能優化技巧整理彙總

背景 一開始會用SQL時,無非都是照着 【select from where group by order by】 這個格式套來套去;從來不會關注 SQL 的耗費時長,更不會關注查詢的性能。但是,當用戶量上來了,表數據不斷暴增,導致我們

原创 SpringBoot從入門到精通教程(二十七)- @Valid註解用法詳解+全局處理器Exception優雅處理參數驗證用法

問題痛點 用 Spring 框架寫代碼時,寫接口類,相信大家對該類的寫法非常熟悉。在寫接口時要寫效驗請求參數邏輯,這時候我們會常用做法是寫大量的 if 與 if else 類似這樣的代碼來做判斷,如下所示: @RestControlle

原创 微服務架構實戰 - 我的經驗分享總結2019(系統架構師)架構演進過程-從信息流架構到電商中臺架構

背景 很多人問到過我,“你們的微服務架構(百萬日活)演進變化是怎麼樣的?”,“信息流的架構是怎麼從0到1的?”,“電商中臺架構是怎麼樣的?”,“能不能分享出來完整的架構圖?它們是什麼樣的?”,“你們遇到過哪些問題?又是如何解決的?”,“

原创 SpringBoot從入門到精通教程(三十二)- MybatisPlus框架動態數據源用法(支持多個DB,動態切換數據源)

需求背景 SpringBoot用法:MybatisPlus框架動態數據源用法(支持多個DB,動態切換數據源) 簡介 dynamic-datasource-spring-boot-starter 是一個基於springboot的快速集成

原创 SpringBoot從入門到精通教程(二十)- 分佈式鎖用法(基於Redis實現)

需求背景 Springboot集成分佈式鎖實現:基於Redis實現。通過使用Spring Integration它提供的全局鎖實現,同時,它還提供了其他存儲的分佈式鎖實現:如Gemfire,JDBC,Zookeeper等。 代碼演示

原创 SpringBoot從入門到精通教程(二十四)- Swagger集成用法

需求背景 Springboot集成:Swagger集成用法,本篇介紹Swagger2 問題痛點 手寫api文檔的幾個痛點: 當接口文檔需要更新時,需要再次發送一次給前端,文檔更新交流不是非常及時,比如showdoc 不能直接在線測試

原创 【總結】我的十二個架構設計原則

謹記 沒有最好的架構,只有最適合的架構 好的架構不是設計出來的,是演進變化而來的 每一位架構師,在做架構設計時,都或多或少地會有一些自己架構設計原則。這裏和你分享一些過去一直指導我的一些架構設計原則,希望對你有用。 我的十二個架構設計

原创 【思考】你真的知道中臺嗎?

【思考】你真的知道中臺嗎?是真中臺,還是僞中臺?當我們談論中臺時,到底是在談些什麼?中臺長什麼樣子? 你真的知道中臺嗎? 最近有不少於兩百個小夥伴問到了我關於中臺的事,今天聊聊中臺。 今年在IT圈內,中臺的概念確實比較火,你可能在朋友

原创 SpringBoot從入門到精通教程(二十六)- 全局header/body接口請求參數+Swagger2集成/接口規範用法

需求背景 在實際服務端API接口項目開發過程中,會有一些項目約定規範用法Tips,這次整理分享一下我過去使用過的,希望對你有用 問題痛點 項目開發時,沒有統一參數規範約定,App對接成本、代碼維護成本太高 過去開發人員寫代碼時,要寫很

原创 SpringBoot從入門到精通教程(二十三)- Oauth2+JWT集成/SpringSecurity

需求背景 本篇文章講解如何通過Springboot2集成驗證服務JWT Token,以及資源服務的用法(更多官方關於 Oauth2) 此篇在《Oauth2+Token詳細用法/SpringSecurity》基礎上修改而來,可先去閱讀此

原创 SpringBoot從入門到精通教程(二十二)- Oauth2+Token詳細用法/SpringSecurity

需求背景 本篇文章講解如何通過Springboot2集成驗證服務Token,以及資源服務的用法(更多官方關於 Oauth2) 概要 主要使用Spring Boot2和SpringSecurity5 OAuth2術語 資源擁有者 Res

原创 SpringCloud Alibaba從入門到精通教程(二)- 項目中快速集成配置中心·Nacos服務註冊發現功能

需求背景 項目中快速集成配置中心·Nacos服務註冊發現功能 Tips技術點 1. @EnableDiscoveryClient註解 啓用Nacos服務註冊發現功能 2. 區分不同環境,實現服務註冊發現功能 登錄Nacos控制檯,新增

原创 SpringCloud Alibaba從入門到精通教程(一)- 配置中心Nacos快速入門介紹·Server啓動安裝

什麼是 Nacos? Nacos 致力於幫助我們發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助我們快速實現動態服務發現、服務配置、服務元數據及流量管理。Nacos 可以幫助我們更敏捷和容易地構建、交付和管理微服務平臺

原创 【總結】CentOS7-MySQL5.7之Yum安裝方式(替換掉MariaDB)& 五分鐘簡單快速安裝完成

背景 在CentOS7系統中,默認安裝有MariaDB(MySQL的分支),但有時候,我們還是要在系統中安裝自己的MySQL(現在也可以通過docker安裝mysql),安裝完成之後,會直接覆蓋掉MariaDB。 安裝步驟 1. 下載My

原创 SpringCloud Alibaba從入門到精通教程(六)- 消息組件RocketMQ快速入門介紹·Server啓動安裝

什麼是 RocketMQ? RocketMq是一個由阿里巴巴開源的消息中間件,在設計上借鑑了Kafka,於2012年開源,在2017年成爲Apache頂級項目 基本概念: RocketMQ主要由 Producer、Broker、Cons