原创 Redis實現的分佈式鎖和分佈式限流

隨着現在分佈式越來越普遍,分佈式鎖也十分常用,這篇文章解釋了 使用zookeeper實現分佈式鎖,本次咱們說一下如何用Redis實現分佈式鎖和分佈限流。Redis有個事務鎖,就是如下的命令,這個命令的含義是將一個value設置到一個key中

原创 對JVM還有什麼不懂的?資深架構師一篇文章帶你深入淺出JVM!

本文跟大家聊聊JVM的內部結構,從組件中的多線程處理,JVM系統線程,局部變量數組等方面進行解析JVMJVM = 類加載器(classloader) + 執行引擎(execution engine) + 運行時數據區域(runtime da

原创 史上最全的MySQL全面優化實戰總結!

1.1 前言MySQL對於很多Linux從業者而言,是一個非常棘手的問題,多數情況都是因爲對數據庫出現問題的情況和處理思路不清晰。在進行MySQL的優化之前必須要了解的就是MySQL的查詢過程,很多的查詢優化工作實際上就是遵循一些原則讓My

原创 阿里架構師眼裏的高併發架構

前言高併發經常會發生在有大活躍用戶量,用戶高聚集的業務場景中,如:秒殺活動,定時領取紅包等。爲了讓業務可以流暢的運行並且給用戶一個好的交互體驗,我們需要根據業務場景預估達到的併發量等因素,來設計適合自己業務場景的高併發處理方案。在電商相關產

原创 基於Canal和Kafka實現MySQL的Binlog近實時同步

前提近段時間,業務系統架構基本完備,數據層面的建設比較薄弱,因爲筆者目前工作重心在於搭建一個小型的數據平臺。優先級比較高的一個任務就是需要近實時同步業務系統的數據(包括保存、更新或者軟刪除)到一個另一個數據源,持久化之前需要清洗數據並且構建

原创 因爲沒有網關,我的服務器被 DDoS 了

背景事情是這樣的,阿粉記得那是一個陽光明媚的早上,窗外一片祥和,整個世界充滿了和諧。誰知九點半的時候突然微信報警消息如狂風暴雨般襲來,讓人猝不及防,原來是線上的一個接口流量突然暴增,而且居高不下,導致部分業務癱瘓,無法使用。按照正常的用戶量

原创 回表與覆蓋索引   正式講 ICP 之前了,我們先將相關的概念捋一捋,知道的就當回顧,不知道的就當了

回表與覆蓋索引  正式講 ICP 之前了,我們先將相關的概念捋一捋,知道的就當回顧,不知道的就當瞭解了,這有助於對 ICP 的理解  建個示例表 tbl_index CREATE TABLE tbl_index (    c1 INT, 

原创 面試官:一個TCP連接可以發多少個HTTP請求?

曾經有這麼一道面試題:從 URL 在瀏覽器被被輸入到頁面展現的過程中發生了什麼?相信大多數準備過的同學都能回答出來,但是如果繼續問:收到的 HTML 如果包含幾十個圖片標籤,這些圖片是以什麼方式、什麼順序、建立了多少連接、使用什麼協議被下載

原创 神奇的 SQL 之 WHERE 條件的提取與應用

問題描述一條 SQL 在數據庫中是如何執行的呢 ?相信很多人都會對這個問題比較感興趣。但是,感興趣歸感興趣,你得去追呀,還臆想着她主動到你懷裏來 ?一條 SQL 在數據庫中的生命週期涵蓋了 SQL 的詞法解析、語法解析、權限檢查、查詢優化、

原创 可能是全網最好的MySQL重要知識點、面試題總結

什麼是MySQL?MySQL是一種關係型數據庫,在Java企業級開發中非常常用,因爲MySQL是開源免費的,並且方便擴展。阿里巴巴數據庫系統也大量用到了MySQL,因此它的穩定性是有保障的。MySQL是開放源代碼的,因此任何人都可以在GPL

原创 牛逼哄哄的 MQ 到底有啥用,你都搞明白了嗎?

消息隊列MQ有什麼套路呢?使用消息隊列場景和好處使用消息隊列會帶來什麼問題,有什麼解決方案如何使用MQ(以ActiveMQ爲例的簡單例子)1.消息隊列的應用場景和好處:異步-流量削峯  我們先來看下傳統的服務器接收處理請求的流程  如上圖,

原创 看完這篇HTTP,跟面試官扯皮就沒問題了

我是一名程序員,我的主要編程語言是 Java,我更是一名 Web 開發人員,所以我必須要了解 HTTP,所以本篇文章就來帶你從 HTTP 入門到進階,看完讓你有一種恍然大悟、醍醐灌頂的感覺。最初在有網絡之前,我們的電腦都是單機的,單機系統是

原创 從源碼角度剖析 Spring 如何管理 mybatis 事務的?

一、 XMLMapperBuilder、mapperProxy 與 mapperMethod上篇文章 講了 mapper 文件是怎麼解析的,在文章開頭提到了 SqlSessionFactory 這個重要的對象,是的就是我們經常需要配置的: 

原创 nginx http模塊實現原理講解——數據存儲結構

從本節開始,我們將進入http模塊實現原理的講解,關於http模塊,有一個非常重要的點就是其是如何存儲http塊、server塊和location塊的數據的,而且nginx有的配置項是可以在多個配置塊中使用的,當http塊、server塊和

原创 大白話帶你深入淺出JVM

前言如果在文中用詞或者理解方面出現問題,歡迎指出。此文旨在提及而不深究,但會盡量效率地把知識點都拋出來一、JVM的基本介紹JVM 是 Java Virtual Machine 的縮寫,它是一個虛構出來的計算機,一種規範。通過在實際的計算機上