原创 【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"?>