原创 用了Redisson的Spring Boot Starter搞的我都想重寫個

在對接一個小程序推送的框架時,需要將 access_token 存儲到 Redis 中,框架中提供了存儲邏輯,只需要將 RedissonClient 對象傳進去即可。 框架內部在用 Redisson 的 RBucket 進行數據存儲時報錯了

原创 Sentinel 的一些小擴展

隨着微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 是面向分佈式服務架構的流量控制組件,主要以流量爲切入點,從流量控制、熔斷降級、系統自適應保護等多個維度來幫助您保障微服務的穩定性。 今天給大家介紹一些在使用過程中會遇

原创 天天說要做性能優化,到底在優化什麼?

面試過程中經常被問到: 你做過性能優化嗎? 優化了哪些方面? 怎麼做優化的? 優化的效果如何? 連環炮問下來,對於有做過優化的老司機來說,肯定能抗住。對於沒有真正做過優化的小白來說,肯定扛不住這一系列的追問,最後只能以面試失敗而告終。

原创 想要做讀寫分離,送你一些小經驗

讀寫分離是應用中提升數據訪問性能最常見的一種技術,當用戶量越來越多,訪問量越來越大,單節點數據庫難免會遇到性能瓶頸。很多場景基本上都是讀多寫少,所以增加多個從節點來分擔主節點的壓力自然是水到渠成的事情。 在應用接入讀寫分離後,難免會有一些我

原创 通用的底層埋點都是怎麼做的?

想要在程序裏監控數據庫的操作耗時,想要在底層框架中自動傳遞鏈路跟蹤信息,這些需求經常會碰到,特別是在構建基礎框架的時候。 核心目標只有一個,那就是在底層封裝好,不用上層使用人員關心。今天跟大家聊聊常用的底層擴展埋點方式是怎麼處理的。 框架自

原创 草率了,又一個Maven打包的問題

經常遇到 Maven 相關的問題,這是之前的文章: 這個 Maven 依賴的問題,你敢說你沒遇到過:https://mp.weixin.qq.com/s/SzBbDtyRUrk_7LH8SUbGXQ Maven 快照版本要這樣用才真的香!

原创 剛剛,給學妹普及了登錄的兩大絕學

今天跟大家聊一個比較基礎的話題,就是實現登錄的方式有哪些?適合剛入行的朋友。 華山之 Session 絕學 Session 我們稱之爲會話控制, 是一種在服務器端保持會話狀態的解決方案。通俗點來講就是客戶端訪問服務端的時候,會在服務端存儲對

原创 被產品經理懟了,線上出Bug爲啥你不知道

前言 前幾天跟讀者聊天,他說被產品經理給懟了。原因是線上出 Bug 了,最後是客戶反饋才知道的。 我就問他:你們是不是沒做監控? 讀者:我們是剛成立的創業團隊,目前最重要的就是堆功能,很多基礎設施都沒時間做。 正所謂有多大的碗喫多少的飯,不

原创 大寫的服,看完這篇你還不懂RocketMQ算我輸

目錄 RocketMQ介紹 RocketMQ概念 爲什麼要用RocketMQ? 異步解耦 削峯填谷 分佈式事務最終一致性 數據分發 RocketMQ架構 RocketMQ消息類型 普通消息 順序消息 定時消息 事務消息 最佳實

原创 寫一個通用的冪等組件,我覺得很有必要

本文目錄 背景 簡單冪等實現 2.1 數據庫記錄判斷 2.2 併發問題解決 通用冪等實現 3.1 設計方案 3.1.1 通用存儲 3.1.2 使用簡單 3.1.3 支持註解 3.1.4 多級存儲 3.1.5 併發讀寫 3.1

原创 如何將分佈式鎖封裝的更優雅

分佈式鎖通常有很多選擇,基於 Redis 的,基於 Zookeeper 的,基於數據庫等等方案。 Redis 用於緩存數據,在項目中都有使用,所以使用 Redis 來做分佈式鎖的會稍微多些。 如果用 Redis 來做鎖,可以直接用開源的方案

原创 哇,ElasticSearch多字段權重排序居然可以這麼玩

背景 讀者提問:ES 的權重排序有沒有示列,參考參考? 剛好之前也稍微接觸過,於是寫了這篇文章,可以簡單參考下。 在很多複雜的業務場景下,排序的規則會比較複雜,單一的降序,升序無法滿足日常需求。不過 ES 中提供了給文檔加權重的方式來排序,

原创 JetCache埋點的騷操作,不服不行啊

闡述背景 緩存是應對高併發絕對的利器,在很多業務場景允許的情況下,都可以使用緩存來提供性能。 既然用了緩存,那對緩存進行監控必不可少。比如緩存加載耗時,新增耗時等。 在 JetCache 中進行埋點操作,對於 Redis 的緩存沒有問題,埋

原创 簡直騷操作,ThreadLocal還能當緩存用

背景說明 有朋友問我一個關於接口優化的問題,他的優化點很清晰,由於接口中調用了內部很多的 service 去組成了一個完成的業務功能。每個 service 中的邏輯都是獨立的,這樣就導致了很多查詢是重複的,看下圖你就明白了。 上層查詢傳遞

原创 誰說Cat不能做鏈路跟蹤的,給我站出來

背景 鏈路跟蹤,我們有很多可選項。常見的有 zipkin,pinpoint,skywalking,jaeger 等。 基本上都是根據谷歌的《Dapper 大規模分佈式系統的跟蹤系統》這篇論文發展出來的。 今天講下 Cat 裏的鏈路跟蹤要如何