原创 微服務-權限認證-Security-jwt實戰

學習思路 認證流程 基於Spring-Security原理講解 用戶名密碼模式具體代碼實現 根據用戶名密碼模式思考短信驗證碼模式 一、認證流程 用戶登錄、認證流程 用戶輸入用戶名密碼請求後臺服務 後臺驗證用戶名密碼是否正確 正確返回tok

原创 微服務-gateway-基礎架構-快速啓動功能預覽

學習路線 名字解釋 架構設計 快速啓動-轉發案例:集成Eureka;http轉發 基礎功能一覽 一、名詞解釋 Route:路由是網關的基本構成,定義了ID、URI、predicates、filters;請求URL經過predicates後

原创 SpringMVC-調用原理解析

本文旨在按照源碼理解SpringMVC原理,不深入細節 先看一張大家都熟悉的圖,摘自《SpringMVC原理探祕》  再來一個時序圖 接下來我們來看具體的實現  org.springframework.web.servlet.Disp

原创 ACID-本地事務-分佈式事務

​學習思路 ACID解釋 本地事務 分佈式事務解決方案及優缺點 生產最常用的方案   一、ACID-本地事務 學習事務的前提就是要了解什麼是ACID(事務的四大特性) Atomicity(原子性):一個事務的執行過程就是

原创 分庫分表-sharding-jdbc生產實踐

學習思路 快速啓動配置講解 五種分片策略 四種分片算法 文末有git地址 一、快速啓動配置講解 1、引入jar包 <dependency> <groupId>org.apache.shardingsphere</groupId>

原创 微服務-Eureka實戰配置

公衆號主要記錄各種源碼、面試題、微服務技術棧,幫忙關注一波,非常感謝 學習思路 項目實踐 服務註冊、續租、下線、自我保護,RateLimiter實現分析 實際使用中的坑 一、項目實踐 Eureka項目簡單點說就是一個配置 首先引入jar

原创 微服務-gateway-Filter-熔斷、限流、統一鑑權

學習思路 源碼自帶各種過濾器具體實現 自定義功能過濾器實現 一、源碼自帶各種過濾器具體實現 1、RouteToRequestUrlFilter:根據配置的路由規則匹配成功後,合併訪問地址 我們來簡單看一下源碼 /** * 根據配置的路

原创 微服務-服務限流-開發實戰

學習思路 各種限流方式應用場景及優缺點 具體實現 一、各種限流方式應用場景及優缺點 限流:在瞭解了系統的負荷之後,如果訪問流量超過負荷那麼將導致服務整體被壓垮,爲保證服務可用預防突發流量,在流量到達設置指標時允許摒棄部分以保證服務運行正常

原创 分庫分表-首次上線-老數據-數據遷移

爲什麼要分庫分表,分庫分表的實踐請看之前的文章:微服務-分庫分表思路 分庫分表之前我們首先要選出分片字段、然後根據一定的分片算法將數據寫入不同的庫表,查詢數據的時候根據分片字段+分片算法從對應的庫表中拿取數據即可 因此,由單獨進行橫向拆分

原创 專治各種數據脫敏-Jackson-fastjson-logback

學習思路 分析脫敏場景 基於Fastjson、Jackson、logback的各種實現 總結 文末有代碼實現git地址、小星星 一、分析脫敏場景 生產數據,爲了保護用戶信息,防止用戶信息泄露,我們通常需要對數據進行脫敏主要

原创 事務-隔離級別-對標MVCC

學習思路 事務的隔離級別簡述 MVCC原理 結合隔離級別對標MVCC-快照讀 Next-key Lock-當前讀 一、事務的隔離級別簡述 由低到高 READ UNCOMMITTED(讀未提交):一次讀取中,可以讀到其它事務未提交的數據

原创 RocketMQ解析-嚴格順序消息

選擇RocketMQ除了它很快以外,其實我們主要看中的是:事務消息、嚴格順序性消息 學習思路 什麼是嚴格順序性消息 代碼怎麼實現 一、什麼是嚴格順序性消息 舉個栗子: 現在一個訂單發了3個消息: 消息1訂單創建;消息2訂單支付;消息3訂單

原创 RocketMQ解析-架構原理

 學習思路 名詞解釋 架構設計分析 網絡部署特點 消息發送流程分析 1、名詞解釋 BrokerServer 消息中轉角色,用於接收客戶端消息,存儲,爲消費端消費消息做準備 Producer 消息生產者,發送消息到Broker Consum

原创 微服務-服務熔斷/降級-開發實戰

學習思路 名詞解釋 代碼實踐-基於註解、基於Feign 文末有驚喜 一、名詞解釋 服務熔斷:在分佈式系統中不可避免的會出現服務之間調用異常,一個接口的異常可能導致整個鏈路異常,服務熔斷就是防止這種級聯故障的發生,是異常服務快速返回備用數據

原创 線程加鎖過程-鎖升級

都說synchronized鎖jdk1.6之前很慢,1.6以後優化的已經很快了,今天看一下到底怎麼個快法了,優化了哪些呢? 大概意思就是jdk1.6以前加鎖就是重量級鎖之後又引入了偏向鎖、輕量級鎖,從而總共有了四種鎖狀態,由低到高爲:無鎖