原创 騰訊這套SpringMvc面試題你懂多少(面試必備)

1、什麼是 SpringMvc?答:SpringMvc 是 spring 的一個模塊,基於 MVC 的一個框架,無需中間整合層來整2、Spring MVC 的優點:答:1)它是基於組件技術的.全部的應用對象,無論控制器和視圖,還是業務對象之

原创 架構師必讀 : 微服務架構設計指南

每個人都聽說過微服務。但你知道怎麼設計嗎? 微服務是當今軟件工程師的一個熱門話題。讓我們瞭解如何使用微服務架構風格構建真正模塊化、業務敏捷的IT系統。一、微服務概念微服務體系結構由輕量級、鬆散耦合的服務集合組成。每個服務都實現了單個業務功能

原创 高併發場景下的緩存有哪些常見的問題?

一、緩存一致性問題當數據時效性要求很高時,需要保證緩存中的數據與數據庫中的保持一致,而且需要保證緩存節點和副本中的數據也保持一致,不能出現差異現象。這就比較依賴緩存的過期和更新策略。一般會在數據發生更改的時,主動更新緩存中的數據或者移除對應

原创 微服務設計實現時的十大常見反模式和陷阱

數據驅動遷移反模式(Data-Driven Migration)如上圖所示,此種反模式的問題在於微服務的粒度沒有最終確定之前就做了數據遷移,如此當不斷的調整服務粒度時,那麼數據庫就免不了頻繁遷移,帶來極大的成本。更好的方式如下圖所示:即先分

原创 基於redis分佈式鎖實現“秒殺”

最近在項目中遇到了類似“秒殺”的業務場景,在本篇博客中,我將用一個非常簡單的demo,闡述實現所謂“秒殺”的基本思路。業務場景所謂秒殺,從業務角度看,是短時間內多個用戶“爭搶”資源,這裏的資源在大部分秒殺場景裏是商品;將業務抽象,技術角度看

原创 如何做高可用的架構設計?

定義目標既然我們的目標是做到高可用,那麼我們就有必要先明確清楚高可用的含義,並通過拆解目標,讓目標可以被量化。按照我的理解,可以將目標按照以下三條進行拆解:1. 保持業務高穩定性系統穩定性是高可用的根本目的,通俗的說,系統能持續可用,不會無

原创 分佈式協調神器 ZooKeeper 之整體概述

ZooKeeper 最早起源於雅虎研究院的一個研究小組。當時,雅虎內部很多大型系統基本都需要依賴一個類似的系統來進行分佈式協調,但是這些系統往往都存在分佈式單點問題。所以,雅虎的開發人員就試圖開發一個通用的無單點問題的分佈式協調框架,以便讓

原创 Spring Cloud OAuth 微服務內部Token傳遞的源碼實現解析

背景分析1.客戶端攜帶認證中心發放的token,請求資源服務器A2.客戶端攜帶令牌直接訪問資源服務器,資源服務器通過對token 的校驗  判斷用戶的合法性,並保存到上下文中3.A服務接口接收到請求,需要通過Feign或者其他RPC框架調用

原创 天天說架構師,到底什麼樣的程序員能稱爲架構師?

我曾問過很多自稱熱愛代碼的程序員的發展規劃,大多都回答說期望成爲一名架構師。而在招聘一方,有的團隊會過濾掉多次提起架構一詞而一點不提具體內容的簡歷。可見,雖然在大多數程序員眼裏,架構師是神聖的,但又不得不承認事實是:“架構”和“架構師”是最

原创 面試阿里等互聯網公司java崗位時,關於Spring到底需要掌握什麼?

之前分享過一些BAT面試必會的文章,一些讀者看了,問過我,Spring 這篇需要掌握一些什麼?相信這個問題也是很多讀者心中的疑問,今天就來聊一下關於 Spring,我從面試中收穫的一些經驗。一. 關於 SpringSpring這塊的內容比較

原创 深度剖析Spring Cloud底層原理

毫無疑問,Spring Cloud 是目前微服務架構領域的翹楚,無數的書籍博客都在講解這個技術。不過大多數講解還停留在對 Spring Cloud 功能使用的層面,其底層的很多原理,很多人可能並不知曉。實際上,Spring Cloud 是一

原创 架構師成長之路:如何保證消息隊列的高可用

問題一:描述一下 JVM 的內存區域程序計數器(PC,Program Counter Register)。在 JVM 規範中,每個線程都有它自己的程序計數器,並且任何時間一個線程都只有一個方法在執行,也就是所謂的當前方法。程序計數器會存儲當

原创 2019年一線大廠春招:Spring面試題和答案合集(下篇)

其他內容參考:2019年一線大廠春招:Spring面試題和答案合集(上篇)35. @RequestMapping 註解該註解是用來映射一個URL到一個類或一個特定的方處理法上。36. 什麼是基於Java的Spring註解配置? 給一些註解的

原创 2019年一線大廠春招:Spring面試題和答案合集(上篇)

1. 什麼是spring?Spring 是個java企業級應用的開源開發框架。Spring主要用來開發Java應用,但是有些擴展是針對構建J2EE平臺的web應用。Spring 框架目標是簡化Java企業級應用開發,並通過POJO爲基礎的編

原创 史上最詳細的一線大廠Mysql面試題詳解

1、MySQL的複製原理以及流程基本原理流程,3個線程以及之間的關聯;主:binlog線程——記錄下所有改變了數據庫數據的語句,放進master上的binlog中;從:io線程——在使用start slave 之後,負責從master上拉取