原创 第三方API對接如何設計接口認證?

一、前言 在與第三方系統做接口對接時,往往需要考慮接口的安全性問題,本文主要分享幾個常見的系統之間做接口對接時的認證方案。   二、認證方案 例如訂單下單後通過 延時任務 對接 物流系統 這種 異步 的場景,都是屬於系統與系統之間的相互交

原创 免費正版 IntelliJ IDEA license 詳細指南

一、前言 IntelliJ IDEA 一直是我非常喜歡的 IDE 自從用上之後就回不了頭了,但是 Ultimate 版本的費用十分昂貴,其實 JetBrains 自己就提供了6種免費申請授權的方式;本文主要介紹 通過開源項目免費申請 這種

原创 ClickHouse性能優化?試試物化視圖

一、前言 ClickHouse是一個用於聯機分析(OLAP)的列式數據庫管理系統(DBMS);目前我們使用CH作爲實時數倉用於統計分析,在做性能優化的時候使用了 物化視圖 這一特性作爲優化手段,本文主要分享物化視圖的特性與如何使用它來優化

原创 全量同步Elasticsearch方案之Canal

一、前言 Canal 是阿里的一款開源項目,純 Java 開發。基於數據庫增量日誌解析,提供增量數據訂閱&消費,目前主要支持了 MySQL(也支持 mariaDB)。 Canal 除了支持 binlog 實時 增量同步 數據庫之外也支持

原创 大數據量查詢容易OOM?試試MySQL流式查詢

一、前言 程序訪問 MySQL 數據庫時,當查詢出來的數據量特別大時,數據庫驅動把加載到的數據全部加載到內存裏,就有可能會導致內存溢出(OOM)。 其實在 MySQL 數據庫中提供了流式查詢,允許把符合條件的數據分批一部分一部分地加載到內

原创 Elasticsearch索引生命週期管理方案

一、前言 在 Elasticsearch 的日常中,有很多如存儲 系統日誌、行爲數據等方面的應用場景,這些場景的特點是數據量非常大,並且隨着時間的增長 索引 的數量也會持續增長,然而這些場景基本上只有最近一段時間的數據有使用價值或者會被經

原创 ELK多租戶方案

一、前言 日誌分析是目前重要的系統調試和問題排查的重要手段之一,而目前分佈式系統由於實例和機器衆多,所以構建一套統一日誌系統是非常必要的;ELK提供了一整套解決方案,並且都是開源軟件,之間互相配合使用,完美銜接,高效的滿足了很多場合的應用

原创 如何實現對ELK各組件的監控?試試Metricbeat

一、前言 開發排查系統問題用得最多的手段就是查看系統日誌,ELK 是 Elastic 公司開源的實時日誌處理與分析解決方案,已經爲日誌處理方案的主流選擇。 而在生產環境中,如何針對 ELK 進行監控,保證各個組件正常運行?如何知道目前的資

原创 Dubbo日誌鏈路追蹤TraceId選型

一、目的 開發排查系統問題用得最多的手段就是查看系統日誌,但是在分佈式環境下使用日誌定位問題還是比較麻煩,需要藉助 全鏈路追蹤ID 把上下文串聯起來,本文主要分享基於 Spring Boot + Dubbo 框架下 日誌鏈路追蹤ID 的

原创 Spring Security如何優雅的增加OAuth2協議授權模式

一、什麼是OAuth2協議? OAuth 2.0 是一個關於授權的開放的網絡協議,是目前最流行的授權機制。 數據的所有者告訴系統,同意授權第三方應用進入系統,獲取這些數據。系統從而產生一個短期的進入令牌(token),用來代替密碼,供第三

原创 Dubbo想要個網關怎麼辦?試試整合Spring Cloud Gateway

一、背景 在微服務架構中 API網關 非常重要,網關作爲全局流量入口並不單單是一個反向路由,更多的是把各個邊緣服務(Web層)的各種共性需求抽取出來放在一個公共的“服務”(網關)中實現,例如安全認證、權限控制、限流熔斷、監控、跨域處理、聚

原创 前後端分離基於Oauth2的SSO單點登錄怎樣做?

一、說明 單點登錄顧名思義就是在多個應用系統中,只需要登錄一次,就可以訪問其他相互信任的應用系統,免除多次登錄的煩惱;本文主要介紹跨域間的 前後端分離 項目怎樣實現單點登錄,並且與 非前後端分離 的差異在那裏?需要解決什麼問題?。 前後

原创 Spring Security基於Oauth2的SSO單點登錄怎樣做?一個註解搞定

一、說明 單點登錄顧名思義就是在多個應用系統中,只需要登錄一次,就可以訪問其他相互信任的應用系統,免除多次登錄的煩惱。本文主要介紹 同域 和 跨域 兩種不同場景單點登錄的實現原理,並使用 Spring Security 來實現一個最簡單的

原创 微服務業務監控和行爲分析怎麼做?試試日誌埋點

一、說明 互聯網公司一般都會有專門的數據團隊對公司的一些業務指標負責;爲了拿到這些基本的業務指標,一般也要工程團隊去配合做一些數據採集工作,於是埋點誕生了。   埋點的方式有很多種,本文主要介紹 日誌埋點 這種方式以及實現思路和案例。

原创 Spring Cloud Gateway的動態路由怎樣做?集成Nacos實現很簡單

一、說明 網關的核心概念就是路由配置和路由規則,而作爲所有請求流量的入口,在實際生產環境中爲了保證高可靠和高可用,是儘量要避免重啓的,所以實現動態路由是非常有必要的;本文主要介紹 Spring Cloud Gateway 實現的思路,並且