原创 【Sharding-JDBC】(一) 整合mybatis-plus 水平分表

 ps: 概念:水平分表是在同一個數據庫內,把同一個表的數據按一定規則拆到多個表中 一、準備環境: 1.單數據庫下,分表: 2.數據庫腳本: #創建訂單庫order_db CREATE DATABASE `order_db` CHAR

原创 【Sharding-JDBC】(三)整合mybatis-plus 水平分庫、分表

ps:概念: 水平分庫:是把同一個表的數據按一定規則拆到不同的數據庫中,每個庫可以放在不同的服務器 上。 水平分表:是在同一個數據庫內,把同一個表的數據按一定規則拆到多個表中. 一、準備環境: 新增一個服務器節點,在兩臺服務器上

原创 【Sharding-JDBC】(二) 整合mybatis-plus 一主一從 讀寫分離

一.搭建數據庫環境(一主一從 讀寫分離) 參考:MySQL5.7 主從同步環境搭建 在(一)Sharding-JDBC 整合mybatis-plus 單庫分表的基礎上增加了一臺虛擬機,也創建了一個user_db庫,並均創建t_user表

原创 MySQL5.7 主從同步環境搭建

一、準備環境:(一主一從) 數據庫 ip 主庫 192.168.87.133 從庫 192.168.87.134  1.1 兩臺虛擬機均安裝MySQL5.7。(mysqladmin --version) 參考: Linux Centos

原创 【RocketMQ】(一) 簡單消息(可靠的同步,可靠的異步和單向傳輸)

        本篇文章將使用RocketMQ以三種方式發送消息:可靠的同步,可靠的異步和單向傳輸。並介紹下負載均衡模式與廣播模式的區別: (1)同步發送消息:             在重要的通知消息,SMS通知,SMS營銷系統等廣泛的

原创 Linux Centos7.5 安裝elasticsearch(單機/集羣)

一:所需軟件  ps: 1.需要依賴jdk環境(可以參考:Linux Centos7.5 安裝配置Oracle jdk1.8)。當前Linux是centos7.5版本; 2.如果是linux centos6.+可以參考:Linux ce

原创 【RocketMQ】(二) 順序消息

消息有序:         指的是可以按照消息的發送順序來消費(FIFO)。RocketMQ可以嚴格的保證消息有序,可以分爲分區有序或者全局有序。   順序消費的原理解析:          在默認的情況下消息發送會採取Round Rob

原创 阿里Canal中間件搭建及使用

說明: canal [kə'næl],譯意爲水道/管道/溝渠,主要用途是基於 MySQL 數據庫增量日誌解析,提供增量數據訂閱和消費 早期阿里巴巴因爲杭州和美國雙機房部署,存在跨機房同步的業務需求,實現方式主要是基於業務 trigger

原创 Elastic-Job (四)Spring整合Simple作業

項目結構: MySimpleJob : package com.lucifer.job; import com.dangdang.ddframe.job.api.ShardingContext; import com.dangdan

原创 【RocketMQ】(四)解決分佈式事務-RocketMQ實現可靠消息最終一致性

 RocketMQ實現可靠消息最終一致性的原理圖:     廢話不多說,直接上代碼,這個案例用了RocketMQ、Spring cloud Alibaba組件中的nacos來實現服務的註冊與發現、mybatis-plus等等,案例中使用

原创 【RocketMQ】(五)利用Redssion分佈式鎖和RocketMQ消息的最終一致性 實現併發場景下單扣減庫存

一、項目結構:  1、 父工程 pom.xml:(父工程只有一個pom.xml) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.o

原创 springboot整合Elasticsearch 入門實戰

附:Elasticsearch 環境搭建,可參考:Linux Centos7.5 安裝elasticsearch(單機/集羣) 1.demo結構:  2.pom.xml <parent> <groupId>org.spring

原创 【Sharding-JDBC】 (五)整合mybatis-plus 解決分佈式事務(基於XA)

官網解釋: 功能 支持數據分片後的跨庫XA事務 兩階段提交保證操作的原子性和數據的強一致性 服務宕機重啓後,提交/回滾中的事務可自動恢復 SPI機制整合主流的XA事務管理器,默認Atomikos,可以選擇使用Narayana和Bitron

原创 SonarQube的安裝與使用

ps:       SonarQube是管理代碼質量一個開放平臺,可以快速的定位代碼中潛在的或者明顯的錯誤. 1、準備環境 Centos7.5, jdk8,mysql 5.6-5.7, sonarqube-7.8 請先確保linux已經安

原创 【Sharding-JDBC】(六)實現數據脫敏

使用sharding-jdbc實現數據脫敏,比如用戶表中的password字段,日常開發都會進行數據脫敏,對其進行加密。 項目結構:    pom.xml: <?xml version="1.0" encoding="UTF-8"?>