原创 如何利用Spring Cloud構建起自我修復型分佈式系統

利用Netflix所打造的組件及各類大家熟知的工具,我們完全可以順利應對由微服務以及分佈式計算所帶來的技術挑戰。在過去一年當中,微服務已經成爲軟件架構領域一個炙手可熱的新名詞,而且我們也能輕鬆舉出由其帶來的諸多比較優勢。然而,我們必須清醒意

原创 請不要在“微服務”的狂熱中迷失自我!

微服務在過去幾年一直是一個非常熱門的話題(附錄1)。何爲“微服務的瘋狂”,舉個例子:衆所周知,Netflix在DevOps上的表現非常棒。Netfix可以做微服務。因此:如果我做微服務,我也將非常擅長DevOps。很多情況下,我們盲目的投入

原创 Docker 教程

Docker 架構Docker Hello WorldDocker 容器使用Docker 鏡像使用Docker 容器連接Docker 安裝 NginxDocker 安裝 PHPDocker 安裝 MySQLDocker 安裝 TomcatD

原创 史上最簡單的 SpringCloud 教程

《史上最簡單的 SpringCloud 教程》系列:史上最簡單的 SpringCloud 教程 | 第一篇: 服務的註冊與發現(Eureka)史上最簡單的SpringCloud教程 | 第二篇: 服務消費者(rest+ribbon)史上最簡

原创 利用cookies實現對彈出窗口頻率的控制

原理:當用戶第一次訪問網站時候,此時沒有設置cookies參數,並且設置過期,彈出顯示對話框,彈完之後,設置cookies參數”popped=yes;expires=”+date.toGMTString()”,第二次加載時候,判斷存在這個參

原创 服務降級的一點認識

什麼是服務降級服務降級:主要是針對非正常情況下的應急服務措施;比如電商平臺,在針對618、雙11等高峯情形下采用部分服務不出現或者延時出現的情形。舉個例子大家都見過女生旅行吧,大號的旅行箱是必備物,平常走走近處綽綽有餘,但一旦出個遠門,再大

原创 基於Elasticsearch實現搜索建議

搜索建議是搜索的一個重要組成部分,一個搜索建議的實現通常需要考慮建議詞的來源、匹配、排序、聚合、關聯的文檔數和拼寫糾錯等,本文介紹一個基於Elasticsearch實現的搜索建議。問題描述電商網站的搜索是最基礎最重要的功能之一,搜索框上面的

原创 用柵欄(CyclicBarrier)實現高併發測試

CyclicBarrier含義柵欄允許兩個或者多個線程在某個集合點同步。當一個線程到達集合點時,它將調用await()方法等待其它的線程。線程調用await()方法後,CyclicBarrier將阻塞這個線程並將它置入休眠狀態等待其它線程的

原创 Semaphore源碼分析

源碼解析Semaphore有兩種模式,公平模式和非公平模式。公平模式就是調用acquire的順序就是獲取許可證的順序,遵循FIFO;而非公平模式是搶佔式的,也就是有可能一個新的獲取線程恰好在一個許可證釋放時得到了這個許可證,而前面還有等待的

原创 分佈式存儲系統關鍵問題

(一)關鍵問題數據分佈對於存儲系統,最重要的問題就是數據分佈,即什麼樣的數據放置在什麼樣的節點上。數據分佈時需要考慮數據是否均衡、以後是否容易擴容等一系列問題。不同的數據分佈方式也存在不同的優缺點,需要根據自身數據特點進行選擇。1)哈希分佈

原创 咱們來聊聊併發工具類Semaphore

什麼是Semaphore?Semaphore是計數信號量。Semaphore管理一系列許可證。每個acquire方法阻塞,直到有一個許可證可以獲得然後拿走一個許可證;每個release方法增加一個許可證,這可能會釋放一個阻塞的acquire

原创 分佈式存儲系統關鍵問題

(一)關鍵問題數據分佈對於存儲系統,最重要的問題就是數據分佈,即什麼樣的數據放置在什麼樣的節點上。數據分佈時需要考慮數據是否均衡、以後是否容易擴容等一系列問題。不同的數據分佈方式也存在不同的優缺點,需要根據自身數據特點進行選擇。1)哈希分佈

原创 咱們一起聊聊Java 8 Stream特性

Java 8 API添加了一個新的抽象稱爲流Stream,可以讓你以一種聲明的方式處理數據。Stream 使用一種類似用 SQL 語句從數據庫查詢數據的直觀方式來提供一種對 Java 集合運算和表達的高階抽象。Stream API可以極大提

原创 互聯網後端基礎設施

1.1 後端基礎設施使用Java後端技術的目的就是構建業務應用,爲用戶提供在線或者離線服務。因此,一個業務應用需要哪些技術、依賴哪些基礎設施就決定了需要掌握的後端技術有哪些。縱觀整個互聯網技術體系再結合公司的目前狀況,筆者認爲必不可少或者非

原创 壓力測試神器stresstester源碼分析

寫在前面stresstester-1.0.jar是早期淘寶的一個壓力測試工具,很方便開發人員進行本地代碼的壓力測試,其他專門壓力測試工具也有很多,如:jmeter  loadrunner 等等,本篇文章主要講一下stresstester的源