原创 SpringBoot - 整合ActiveMQ

簡介 Apache ActiveMQ是一個開源的消息中間件,它不僅完全支持JMS1.1規範,而且支持多種編 程語言,例如C/C++、C#、Delphi 、Erlang 、Adobe Flash 、Haskell 、Java 、Ja

原创 MySQL - Linux安裝和卸載MySQL8、配置遠程連接授權

本文是在Cent OS7下通過yum源來進行安裝MySQL8.0,下載地址:MySQL源安裝包 安裝 1、通過wget命令下載 本文在/home目錄下進行,一般也可以在/usr/local下進行。 wget https://dev

原创 JDK - CentOS7下安裝JDK8

JDK1.8下載地址:JDK1.8下載地址,選擇tar.gz包 1、將tar.gz包上傳 我這裏上傳到/usr/local,版本爲1.8.0_221 2、解壓 cd /usr/java/ tar -zxvf jdk-8u221-l

原创 SpringSession - 分佈式Session解決方案及SpringSession基本使用

分佈式Session的幾種解決方案 1、Session複製 Tomcat服務器互相同步session。 優點: web-server (Tomcat) 原生支持,只需要修改配置文件 缺點: 1、session同步需要數據傳輸,佔

原创 SSO - 使用cookie和session實現單點登錄

什麼是單點登錄 單點登錄(SingleSignOn,SSO),就是通過用戶的一次性鑑別登錄。當用戶在身份認證服務器上登錄一次以後,即可獲得訪問單點登錄系統中其他關聯繫統和應用軟件的權限,同時這種實現是不需要管理員對用戶的登錄狀態或

原创 Redis - 實現分佈式鎖的階段演進

①演進階段一 獲得鎖就執行業務邏輯,沒有獲得鎖就繼續調用這個方法形成一個自旋,就類似於synchronized。 僞代碼: public void getData(){ boolean lock = redisTempl

原创 Spring - JSR303數據校驗

在做項目的時候需要對錶單的值進行校驗,只有校驗通過才能提交,一般來說前端和後端都需要做校驗,JSR303是做後端校驗的一種方式。 JSR303簡介 JSR是Java Specification Requests的縮寫,意思是Jav

原创 NVM - node.js版本管理工具的安裝及基本使用

簡介 nvm全名node.js version management,是一個nodejs的版本管理工具,通過它可以安裝和切換不同版本的nodejs,解決了新老項目維護時切換node的問題。 下載及配置 GitHub:nvm-win

原创 Redis - Redis集羣及主從複製、哨兵模式

Redis主從複製 主從複製,是指將一臺Redis服務器的數據,複製到其他的Redis服務器。前者稱爲主節點 (master/leader),後者稱爲從節點(slave/follower);數據的複製是單向的,只能由主節點到從節點

原创 Excel - POI與EasyExcel操作Excel表

POI Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序對Microsoft Office格式檔案讀和寫的功能。 結構: HSSF - 提供讀寫Microsoft Excel格式檔案的

原创 Redis - 消息發佈訂閱機制

Redis 發佈訂閱(pub/sub)是一種消息通信模式:發送者(pub)發送消息,訂閱者(sub)接收消息。發佈者生產消息放到隊列裏,多個監聽隊列的消費者都會收到同一份消息。 Redis客戶端可以訂閱任意數量的頻道。 訂閱/發佈

原创 SpringBoot - 整合Swagger2

簡介 前後端分離開發模式中,api文檔是最好的溝通方式。 Swagger是一個規範和完整的框架,用於生成、描述、調用和可視化RESTful風格的 Web 服務。 1、及時性 (接口變更後,能夠及時準確地通知相關前後端開發人員) 2

原创 Redis - 事務與樂觀鎖

事務 Redis的事務與MySQL的事務差別較大。 Redis的事務本質是一組命令的集合。也就是說一個事務中的所有命令都會被序列化,在事務執行的時候,會按照順序執行這些命令。 即Redis具有:一次性、順序性、排他性(不受其他命令

原创 JDK8新特性 - Stream API及Optional類

Stream 是 Java8 中處理集合的關鍵抽象概念,它可以指定你希望對集合進行的操作,可以執行非常複雜的查找、過濾和映射數據等操作。使用Stream API 對集合數據進行操作,就類似於使用 SQL 執行的數據庫查詢。也可以使

原创 MySQL - Canal數據同步

Canal是阿里巴巴旗下的一款開源項目,純Java開發。基於數據庫增量日誌解析,提供增量數據訂閱&消費,目前主要支持了MySQL。 原理和應用場景參考:Canal——原理架構及應用場景 Canal環境搭建 Canal的原理是基於m