原创 RocketMQ實戰(二)

在上一篇《RocketMQ實戰(一)》中已經爲大家初步介紹了下RocketMQ以及搭建了雙Master環境,接下來繼續爲大家介紹!Quick Start寫一個簡單的生產者、消費者,帶大家快速體驗RocketMQ~Maven配置:生產者:消費

原创 分佈式利器Zookeeper(一)

Zookeeper不論是在實際項目中,還是在各種分佈式開源項目中都得到了廣泛應用,從本篇博客開始,將爲大家帶來我對Zookeeper的認識。這個系列將會涵蓋Zookeeper的介紹、環境搭建、配置說明、Java操作Zookeeper(原生A

原创 對高併發流量控制的一點思考

前言 在實際項目中,曾經遭遇過線上5W+QPS的峯值,也在壓測狀態下經歷過10W+QPS的大流量請求,本篇博客的話題主要就是自己對高併發流量控制的一點思考。 應對大流量的一些思路 首先,我們來說一下什麼是大流量? 大流量,我們很可能會冒出

原创 程序員不可不知的Linux性能工具

前言 在實際開發中,有時候會收到一些服務的監控報警,比如CPU飆高,內存飆高等,這個時候,我們會登錄到服務器上進行排查。本篇博客將涵蓋這方面的知識:Linux性能工具。 一次線上問題排查模擬 背景:服務在平穩運行一段時間後,CPU突然飆高

原创 Java定時任務調度詳解

前言 在實際項目開發中,除了Web應用、SOA服務外,還有一類不可缺少的,那就是定時任務調度。定時任務的場景可以說非常廣泛,比如某些視頻網站,購買會員後,每天會給會員送成長值,每月會給會員送一些電影券;比如在保證最終一致性的場景中,往往利用

原创 深入淺出Nginx

前言 Nginx是一款輕量級的Web服務器、反向代理服務器,由於它的內存佔用少,啓動極快,高併發能力強,在互聯網項目中廣泛應用。 上圖基本上說明了當下流行的技術架構,其中Nginx有點入口網關的味道。 反向代理服務器? 經常聽人說到

原创 透徹理解Spring事務設計思想之手寫實現

前言 事務,是描述一組操作的抽象,比如對數據庫的一組操作,要麼全部成功,要麼全部失敗。事務具有4個特性:Atomicity(原子性),Consistency(一致性),Isolation(隔離性),Durability(持久性)。在實際開發

原创 理解數據庫連接池底層原理之手寫實現

前言 數據庫連接池的基本思想是:爲數據庫連接建立一個“緩衝池”,預先在池中放入一定數量的數據庫連接管道,需要時,從池子中取出管道進行使用,操作完畢後,在將管道放入池子中,從而避免了頻繁的向數據庫申請資源,釋放資源帶來的性能損耗。在如今的分佈

原创 Java定時任務調度詳解

前言 在實際項目開發中,除了Web應用、SOA服務外,還有一類不可缺少的,那就是定時任務調度。定時任務的場景可以說非常廣泛,比如某些視頻網站,購買會員後,每天會給會員送成長值,每月會給會員送一些電影券;比如在保證最終一致性的場景中,往往利用

原创 深入淺出Nginx

前言 Nginx是一款輕量級的Web服務器、反向代理服務器,由於它的內存佔用少,啓動極快,高併發能力強,在互聯網項目中廣泛應用。 上圖基本上說明了當下流行的技術架構,其中Nginx有點入口網關的味道。 反向代理服務器? 經常聽人說到

原创 對HashMap的思考及手寫實現

前言 HashMap是Java中常用的集合,而且HashMap的一些思想,對於我們平時解決業務上的一些問題,在思路上有幫助,基於此,本篇博客將分析HashMap底層設計思想,並手寫一個迷你版的HashMap! 對HashMap的思考 第

原创 理解數據庫連接池底層原理之手寫實現

前言 數據庫連接池的基本思想是:爲數據庫連接建立一個“緩衝池”,預先在池中放入一定數量的數據庫連接管道,需要時,從池子中取出管道進行使用,操作完畢後,在將管道放入池子中,從而避免了頻繁的向數據庫申請資源,釋放資源帶來的性能損耗。在如今的分佈

原创 透徹理解Spring事務設計思想之手寫實現

前言 事務,是描述一組操作的抽象,比如對數據庫的一組操作,要麼全部成功,要麼全部失敗。事務具有4個特性:Atomicity(原子性),Consistency(一致性),Isolation(隔離性),Durability(持久性)。在實際開發

原创 程序員不可不知的Linux性能工具

前言 在實際開發中,有時候會收到一些服務的監控報警,比如CPU飆高,內存飆高等,這個時候,我們會登錄到服務器上進行排查。本篇博客將涵蓋這方面的知識:Linux性能工具。 一次線上問題排查模擬 背景:服務在平穩運行一段時間後,CPU突然飆高

原创 對緩存擊穿的一點思考

前言 緩存(內存 or Memcached or Redis.....)在互聯網項目中廣泛應用,本篇博客將討論下緩存擊穿這一個話題,涵蓋緩存擊穿的現象、解決的思路、以及通過代碼抽象方式來處理緩存擊穿。 什麼是緩存擊穿? 上面的代碼,是一