原创 MySQL:InnoDB一棵B+樹可以存放多少行數據?

前言 開門見山,面對這樣一個問題,你將如何作答? 1千萬,2千萬,或者上億條數據?具體的答案不重要,當然肯定也不會是一個固定的數目,今天我們就一起來探討探討這個問題。 InnoDB是一種兼顧了高可靠性和高性能的通用存儲引擎,它擁有諸多功能和

原创 分佈式系統流控、熔斷:Sentinel的使用

前言 隨着微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量爲切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。 Sentinel 具有以下特徵: 豐富的應用場景:Sentinel 承接了阿里

原创 Java開源框架中的設計模式以及應用場景

前言 設計模式是軟件設計中常見問題的典型解決方案,你可以通過對其進行定製來解決代碼中的特定設計問題。 關於設計模式,網上有很多講解。但大部分都是Demo示例,看完有可能還是不知道怎麼用。 本文筆者將從設計模式入手,看一看在優秀的Java框架

原创 Java開源框架中的設計模式

前言 設計模式是軟件設計中常見問題的典型解決方案,你可以通過對其進行定製來解決代碼中的特定設計問題。 設計模式與方法或庫的使用方式不同, 你很難直接在自己的程序中套用某個設計模式。模式並不是一段特定的代碼, 而是解決特定問題的一般性概念。

原创 數據同步利器 - canal

前言 大約兩年以前,筆者在一個項目中遇到了數據同步的難題。 當時,系統部署了幾十個實例,分爲1箇中心平臺和N個分中心平臺,而每一個系統都對應一個單獨的數據庫實例。 在數據庫層面,有這樣一個需求: 中心平臺數據庫要包含所有系統平臺的數據。

原创 漫談Java線程狀態

前言 Java語言定義了 6 種線程狀態,在任意一個時間點中,一個線程只能只且只有其中的一種狀態,並且可以通過特定的方法在不同狀態之間進行轉換。 今天,我們就詳細聊聊這幾種狀態,以及在什麼情況下會發生轉換。 一、線程狀態 要想知道Java線

原创 微服務落地實踐 - 經驗分享

前言 隨着架構設計的發展,微服務架構可以說是目前架構領域炙手可熱的設計理念。在公司,筆者也一直在負責系統的服務化設計和開發工作。 今天就來談談微服務落地實踐中的一些問題。希望對微服務設計無從下手的朋友,起到一些參考作用;另外也希望把自己的觀

原创 Dubbo調用流程一覽

前言 Apache Dubbo作爲一款高性能的Java RPC框架,在國內服務化體系的演進過程中扮演了一個非常重要的角色,被大量公司廣泛使用。 臨近年關,或許有小夥伴有着尋找新機會的想法,那麼在面試過程中很可能會常常見到這樣一個問題: 你

原创 深入理解SPI機制 一、什麼是SPI 二、源碼分析 三、JDBC中的應用

一、什麼是SPI SPI ,全稱爲 Service Provider Interface,是一種服務發現機制。它通過在ClassPath路徑下的META-INF/services文件夾查找文件,自動加載文件裏所定義的類。 這一機制爲很多框架

原创 SpringBoot+Mybatis配置多數據源及事務方案

前言 可能由於業務上的某些需求,我們的系統中有時往往要連接多個數據庫,這就產生了多數據源問題。 多數據源的情況下,一般我們要做到可以自動切換,此時會涉及到事務註解 Transactional 不生效問題和分佈式事務問題。 關於多數

原创 如何用Netty來實現RPC

前言 在微服務大行其道的今天,分佈式系統越來越重要,實現服務化首先就要考慮服務之間的通信問題。這裏面涉及序列化、反序列化、尋址、連接等等問題。。不過,有了RPC框架,我們就無需苦惱。 一、什麼是RPC? RPC(Remote Pr

原创 RocketMQ消息存儲和查詢原理

前言 RocketMQ 作爲一款優秀的分佈式消息中間件,可以爲業務方提供高性能低延遲的穩定可靠的消息服務。其核心優勢是可靠的消費存儲、消息發送的高性能和低延遲、強大的消息堆積能力和消息處理能力。 從存儲方式來看,主要有幾個方面:

原创 基於RocketMQ分佈式事務 - 完整示例

前言 之前我們說到,分佈式事務是一個複雜的技術問題。沒有通用的解決方案,也缺乏簡單高效的手段。 不過,如果我們的系統不追求強一致性,那麼最常用的還是最終一致性方案。今天,我們就基於 RocketMQ來實現消息最終一致性方案的分佈式

原创 SpringBoot如何解析參數的深入理解

這篇文章主要給大家介紹了關於SpringBoot是如何解析參數的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用SpringBoot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧 前言 前幾

原创 徹底搞明白Spring中的自動裝配和Autowired註解的使用

這篇文章主要介紹了徹底搞明白Spring中的自動裝配和Autowired註解的使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 一、自動裝配 當Spring裝配Bean屬性時,有時