原创 Kafka實戰(七) - 優雅地部署 Kafka 集羣

既然是集羣,必然有多個Kafka節點,只有單節點構成的Kafka僞集羣只能用於日常測試,不可能滿足線上生產需求。真正的線上環境需要考量各種因素,結合自身的業務需求而制定。看一些考慮因素(以下順序,可是分了順序的哦) 1 操作系統 - OS

原创 深入理解Java線程狀態

贊助平臺 首頁 / 文章管理 / 文章編輯Java線程狀態友情提示:文章每30秒自動保存一次,編輯器支持圖片拖動上傳或者複製粘貼上傳~0 線程狀態概述分類6個狀態定義: java.lang.Thread.StateNew: 尚未啓動的線程的

原创 JVM實戰(六) - 通過案例深入學習class文件結構原理

1 什麼是JVM的“無關性”?Java具有平臺無關性,也就是任何操作系統都能運行Java代碼.之所以能實現這一點,是因爲Java運行在虛擬機之上,不同的操作系統都擁有各自的Java虛擬機,因此Java能實現"一次編寫,處處運行".而JVM不

原创 高可用服務架構設計(12) - 基於request cache請求緩存技術優化批量商品數據查詢接口

0 Github回顧執行流程1、創建command,2種command類型2、執行command,4種執行方式3、查找是否開啓了request cache,是否有請求緩存,如果有緩存,直接取用緩存,返回結果首先,reqeust contex

原创 突破Java面試(42) - Redis & ZooKeeper兩種分佈式鎖實現的優劣

0 Github1 面試題一般實現分佈式鎖都有哪些方式?使用redis如何設計分佈式鎖?使用zk來設計分佈式鎖可以嗎?這兩種分佈式鎖的實現方式哪種效率比較高?2 考點分析一般先問問你zk,然後過渡到zk關聯的一些問題,比如分佈式鎖.因爲在

原创 突破Java面試(40)-設計一個類似Dubbo的RPC框架

0 Github1 面試題如何設計一個類似Dubbo的RPC框架2 考點分析就跟問你如何設計一個MQ一樣的道理,就考兩個:你有沒有對某個RPC框架原理有非常深入的理解你能不能從整體上來思考一下,如何設計一個rpc框架,考考你的系統設計能力

原创 突破Java面試(38)-分佈式服務接口的冪等性

1 面試題 分佈式服務接口的冪等性如何設計(比如不能重複扣款)? 2 考點分析 從這開始,面試官就已經進入了實際的生產問題的面試了 一個分佈式系統中的某個接口,要保證冪等性,如何保證?這個事,其實是你做分佈式系統的時候必須要考慮的一個生產環

原创 突破Java面試(36)-聊聊Dubbo的SPI機制

0 Github1 面試題Dubbo中的SPI是什麼?2 考點分析前面基礎性的東西問完了,確定你應該瞭解Dubbo,那麼自然問個稍微難的問題,就是SPI,先問問你這是個啥,然後問問你怎麼實現的!其實就是看看你對dubbo的掌握如何3 SP

原创 突破Java面試(23-9) - 深入解析Redis哨兵底層原理

​# 0 Github 1 sdown和odown轉換機制 兩種失敗狀態 1.1 概念 sdown主觀宕機一個哨兵自己覺得一個master宕機 odown客觀宕機quorum數量的哨兵都覺得一個master宕機 1.2 達成條件 s

原创 突破Java面試(23-7) - Redis的哨兵架構

Github 1 Redis Sentinal機制 sentinal,中文名哨兵 哨兵是redis集羣架構中非常重要的一個組件,主要功能如下 集羣監控監控Redis master和slave進程的正常工作 消息通知如果某個Redis實例有

原创 突破Java面試(18)-消息隊列面試技巧總結

Github 其實如果我是面試官的話,我如果感覺你都把剛纔那些問題都答出來了,我可能會繼續刨根問底,深挖,問你,直到把你給問倒 消息隊列,kafka,複製的底層原理,leader選舉的算法,增加partition以後的rebalance算法

原创 突破Java面試(23 - 3) - Redis replication以及master持久化對主從架構的安全意義

redis replication -> 主從架構 -> 讀寫分離 -> 水平擴容支撐讀高併發 1 圖解redis replication基本原理 2 Redis replication的核心機制 Redis採用異步方式複製數據到slav

原创 突破Java面試(17)-ElasticSearch的部署架構

1 面試題 ES集羣部署架構如何 每個索引的數據量大概多少 每個索引大概有多少分片 2 考點分析 問你生產環境咋部署的,說白了,沒啥技術含量,就是看你有沒有在真正的生產環境裏做過ES! 有些同學可能沒在生產環境做過,沒在線上部署過ES集

原创 突破Java面試(21) - redis有哪些數據類型,談談適用場景

1 面試題 redis都有哪些數據類型?分別在哪些場景下使用比較合適? 2 考點分析 除非是感覺看你簡歷,就是工作3年以內的比較初級的一個同學,可能對技術沒有很深入的研究過,我纔會問這類問題,在寶貴的面試時間裏,我實在是不想多問 其實問這個

原创 突破Java面試(23)-如何保證redis高併發及高可用

1 面試題 如何保證Redis的高併發和高可用?redis的主從複製原理能介紹一下麼?redis的哨兵原理能介紹一下麼? 2 考點分析 其實問這個問題,主要是考考你,redis單機能承載多高併發?如果單機扛不住如何擴容抗更多的併發?redi