原创 設計一個電商平臺積分兌換系統

文章目錄簡介1、拉開差距的一類面試題2、業務需求的描述3、對業務流程的思考4、物流配送進度查詢,考慮到了嗎?5、事務的保證6、消息中間件的引入7、重試機制的引入8、引入冪等性機制9、對這類面試題的總結 簡介 本博客轉載至:狸貓技

原创 google-auto之自動生成組件化文件

文章目錄一 簡介二 代碼使用AutoService(官方文檔)使用三 擴展 一 簡介 google的開源框架auto是一個自動生成java相關代碼的解析工具 通過AutoFactory和AutoService等的相關模塊,我們

原创 分佈式事務和二階段提交(2PC),三階段提交(3PC)

文章目錄前言1 分佈式事務2 理論基礎2.1 CAP 理論(1)CP架構(可用性降低)(2)AP架構(一致性降低)2.2 BASE 理論3 分佈式事務協議3.1 X/Open XA 協議3.2 2PC:二階段提交協議3.3 3PC

原创 Processor-強大的註解處理器功能

文章目錄一 簡介二 正文1. 概念2.Processor2.1 註解處理器的運行2.2 註解處理器的定義3.代碼 一 簡介 在上一篇文章中,google-auto之自動生成組件化文件 ,我是簡單的介紹了google的開源框架au

原创 mysql索引掃描

文章目錄一 閒聊二 理論三 示例user_info表:users表:索引掃描:1,單表2,排序3,join 一 閒聊 由於之前一直接觸的都是mysql,從來沒有接觸過oracle數據庫,新公司用的就是oracle,先像着分析my

原创 分佈式系統架構演進過程

文章目錄前言1. 概述2. 基本概念分佈式高可用集羣負載均衡正向代理和反向代理3. 架構演進3.1 單機架構3.2 第一次演進:Tomcat與數據庫分開部署3.3 第二次演進:引入本地緩存和分佈式緩存3.4 第三次演進:引入反向代

原创 事務的隔離級別?幻讀和不可重複的區別

文章目錄一 定義一 解釋Read-Uncommited(讀未提交)Read-commited(讀已提交)Repeatable-Read(可重複讀)Serializable(串行化)三 什麼是不可重複讀,什麼是幻讀不可重複讀幻讀

原创 java開發中的代碼設計規範

文章目錄1 前序2 如何寫好業務代碼?3 代碼整潔之道--讀後感3.1 類名4 設計模式5 設計原則5.1 開閉原則5.2 里氏替換原則5.3 依賴倒置原則5.4 單一責任原則5.5 接口隔離原則5.6 迪米特法則5.7 合成複

原创 創建線程池需要注意的事情

1 介紹 阿里的java代碼規範有一條是強制建議開發者不要使用Executors創建線程池。 而是建議我們使用原生的ThreadPoolExecutor進行創建,既然這麼建議了,自然是有它建議的道理,下面我們就來簡單的分析一下

原创 《高性能Mysql第三版》讀書筆記

文章目錄一 簡介二 理論Mysql邏輯架構圖事務表鎖,行級鎖RR事務隔離級別,如何解決幻讀問題多版本併發控制(MVCC)MVCC下InnoDB的增刪查改是怎麼工作的三星系統原則聚簇索引和非聚簇索引覆蓋索引使用索引掃描來做排序查詢優

原创 深入分析Java-RMI

文章目錄1 介紹2 機制2.1 內部體系架構2.2 原理3 代碼示例4 參考 1 介紹 java本身的內部中是提供了一種RPC框架-RMI(即Remote Method Invoke,遠程方法調用),位於rt.jar包中,以ja

原创 分庫分表技術

文章目錄1 什麼是分庫分表2 分庫分表解決了什麼問題3 分庫分表處理數據庫自增id問題4 mycat和sharding-jdbc的區別4.1 mycat原理4.2 sharding-jdbc原理 1 什麼是分庫分表 單庫數據量的

原创 mysql中的InnoDB引擎是否支持Hash索引

文章目錄問題延伸 問題 這個問題之前我一直沒有注意(壓根沒有好好看),但是當我有次在一個innodb引擎的表中創建hash索引的時候,只要一保存,它就會自動把我創建成BTree類型的索引。 一番納悶之後,學習才知:InnoDB

原创 Linux系統中IO多路複用

文章目錄1 什麼是IO多路複用1.1 阻塞IO模型1.2 非阻塞IO模型1.3 IO複用模型1.4 信號驅動IO模型1.5 異步IO模型2 IO多路複用,epoll 1 什麼是IO多路複用 常見的IO模型中,一般有四種,阻塞IO

原创 RPC服務調度架構圖

文章目錄一 調度流圖二 負載均衡思考二 代碼 一 調度流圖 二 負載均衡思考 輪詢: 隨機: LRU: 一致性Hash: 權重: 二 代碼 待完善