原创 Redis | Redis 主從複製

一、簡介 Redis 主從複製可以實現一主一從,或者一主多從,主 (master) 節點寫數據,從 (slave) 節點讀數據,相比於單擊版本,可以整體提高性能,而且還能做數據備份。 二、環境搭建 1、安裝 我們需要準備好兩臺服

原创 分佈式的冰與火 | 分佈式事務解決方案 LCN

一、簡介 在分佈式中,如下有 order 和 stock 是兩個系統,調用方服務(order)調用完被調用方服務(stock)的接口後,發生異常,調用方(order)的事務回滾了,但是被調用(stock)方的事務沒有回滾,這就是分

原创 Spring Cloud Alibaba 極速通關 | Sentinel 整合 Apollo 實現配置持久化

一、簡介 默認情況下,我們在控制檯配置的規則並不會持久化,當項目重新啓動之後,配置就會刪除,這裏我們整合 apollo + sentinel 進行配置持久化。 二、實例 1、添加核心依賴 <dependency> <g

原创 Spring Cloud Alibaba 極速通關 | Sentinel 整合 Gateway 實現網關限流

一、簡介 Sentinel 支持對 Spring Cloud Gateway、Zuul 等主流的 API Gateway 進行限流。本篇將會講解如何在 gateway 網關層配置 sentinel 限流。 二、示例 1、添加核心

原创 面試必問的設計模式 | 裝飾者模式

一、簡介 裝飾者模式(Decorator Pattern)是一種結構型模式,原理是創建了一個裝飾類,用來包裝原有的類,並在保持類方法完整性的前提下,提供了額外的功能。 二、示例 基於裝飾者模式實現一級,二級緩存,首先創建緩存接口,

原创 Zookeeper | 環境搭建

一、簡介 ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個爲分佈式應用提供一致性服務的軟件,他的應用場景有:服務註冊與發

原创 精通 Spring 源碼 | ImportSelector

一、簡介 ImportSelector 是Spring的擴展點之一,這個擴展點有什麼用呢,如果說在 SpringBoot 中,我們熟悉的 @EnableXXX 就是通過這個擴展點來實現的,下面我們來進行分析和實現。 下面是他的源碼

原创 《反本能》讀後感(一) | 是什麼阻止了我們成功

爲什麼我們很難讓自己改變,爲什麼我們喜歡玩手機,爲什麼我們不喜歡學習,爲什麼我們喜歡拖延,是什麼阻礙了我們的發展,《反本能》一書則向我們解釋了這一系列的問題的根源。以及給我們分析了這一系列問題的原因,讓我們知道該採取怎樣的策略,才

原创 SpringBoot 2.0 | SpringBoot 集成 Elasticsearch

一、添加依賴 創建 SpringBoot 項目後,添加以下 Maven 依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

原创 Spring-Cloud-Finchley | 路由網關 GateWay

一、簡介 Spring Cloud Gateway 是 Spring Cloud 官方的親兒子,用來代替 Zuul 網關,兩者的區別在於 Zuul 是基於servlet,使用阻塞 API,不支持任何長的連接,如 websocke

原创 面試必問的設計模式 | 狀態模式

一、簡介 狀態模式 (State Pattern) 中,類的行爲是基於它的狀態改變的。屬於 行爲型模式。 在狀態模式中,需要創建 表示各種狀態的對象 以及他們的 共同抽象接口 和一個行爲隨着狀態對象改變而改變的 context 對

原创 Redis | 事務機制

一、簡介 Redis 提供了事務的機制,由以下命令可以實現 Redis 事務: multi 開啓事務 exec 提交事務 watch 監聽一個key,在提交事務之前是否發生變化,發生變化就不會提交事務,沒有變化才提交 dis

原创 分佈式的冰與火 | 分佈式日誌收集 ELK 搭建

一、簡介 分佈式日誌收集 ELK 爲 Elasticsearch + Logstash + kibana,Elasticsearch負責存儲日誌。Logstash 負責日誌收集,把本地文件搬到 ES 裏面,一個接受,處理,轉發日誌

原创 面試必問的設計模式 | 外觀模式

一、簡介 外觀模式 (Facade Pattern) 也稱作 門面模式,包裝模式,是一種 結構型 模式,其特點是把複雜流程通過接口封裝起來,使用起來更加簡單,降低系統複雜度。 二、實例 比如我們一個購物操作,需要下單,減庫存,支付

原创 史上最全的 Java 技術體系思維導圖,沒有之一!

Java 思維導圖 Java (最近更新 4.28) 1、Java 核心知識(基礎) 2、多線程基礎 (最近更新 4.29) 3、多線程進階(一) (最近更新 4.28) 3、多線程進階(二) (最近更新 4.29) 集合類 (