原创 springCloud選型(2020年)

1、2020年版本選型 2、組件選擇與升級 最新推薦組件選型(建議選取最下面一層) 註冊中心異同

原创 RocketMQ高可用分析

RocketMQ高可用分析 1、集羣 NameServer集羣 爲無狀態集羣 broker集羣 1)多master模式 2)多master和多slave(異步) 3)多master和多slave(同步) 2、主從複製方式 1)、同

原创 RocketMq存儲管理分析

1、生產者發送消息給mq 2、mq將消息持久化存儲到存儲系統 3、mq發送ack給生產者 4、mq將消息推送給消費者 5、消費者發送ack給mq 6、mq將消息從存儲系統中刪除 存儲介質 1、關係型數據庫DB 2、文件系統 文件

原创 分佈式id生成算法Twitter的SnowFlake

分佈式id生成算法的有很多種,Twitter的SnowFlake就是其中經典的一種。 算法原理 SnowFlake算法生成id的結果是一個64bit大小的整數,它的結構如下圖: 1bit,不用,因爲二進制中最高位是符號位,1表

原创 springBoot+rocketMq簡單案例實現

生產者 項目結構 1、創建springBoot項目後添加如下依賴 pom.xml <!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spri

原创 RocketMq學習

RocketMq是阿里巴巴2016年開源的,貢獻給了apache,用java語言開發 優點: 1、解耦 2、削峯 3、數據分發 缺點: 1、系統可用性降低 如果MQ宕機了,就會造成影響 2、系統複雜性提高 引入消息同步問題,順序問

原创 springmvc+mybatis(配置文件實現demon)

springmvc+mybatis(配置文件實現demon) 項目結構 相關配置文件 1、pom.xml <dependencies> <dependency> <groupId>juni

原创 dubbo+zookeeper整合springBoot

dubbo+zookeeper整合springBoot 1、zookeeper和dubbo-admin的下載和安裝請查看我上一篇文章:dubbo+zookeeper環境搭建 附:創建springBoot項目創建過程 2、項目結構

原创 springmvc+mybatis(純註解實現Demon)

springmvc+mybatis(純註解實現Demon) 項目結構 相關配置文件 1、pom.xml <dependencies> <dependency> <groupId>junit

原创 分佈式系統中CAP定理

因爲微服務的原因,我們把服務進行了分佈式,隨着各個數據庫也隨着變成分佈式每個數據庫不一定存在相同的物理機中。 那麼這個時候單個數據庫的 ACID 已經不能適應這種情況,而在這種集羣中想去保證集羣的 ACID 幾乎很難達到,或者即使

原创 事務的特性ACID

原子性 Atomicity 原子性是指事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。 一致性 Consistency 事務的執行不能破壞數據庫數據的完整性和一致性,一個事務在執行之前和執行之後,數據庫

原创 Spring AOP理解及應用(附含自定義註解使用)

概念 通知(Advice) 切面的工作被稱爲通知。通知定義了切面是什麼以及何時使用。除了描述切面要完成的工作,通知還解決了何時執行這個工作的問題。 5種通知類型: 前置通知(Before):在目標方法被調用之前調用通知功能

原创 Spring Aop底層原理

1、代理 什麼是代理模式 通過代理控制對象的訪問,可以詳細訪問某個對象的方法,在這個方法調用處理,或調用後處理。既(AOP微實現) ,AOP核心技術面向切面編程。 代理模式應用場景 SpringAOP、事物原理、日誌打印、權限控制

原创 ZGC 深入理解

概述 G1作爲新一代成熟的垃圾回收器尚未得到廣泛使用,新一代的垃圾回收器ZGC在JDK 11中引入,ZGC是2017年Oracle公司貢獻給OpenJDK社區的,正式成爲OpenJDK的開源項目,也就是JEP 333,目前它被明確