原创 京東618大促壓測時自研中間件暴露出的問題總結,壓測數值40w/s

前天618大促演練進行了全鏈路壓測,在此之前剛好我的熱key探測框架也已經上線灰度一週了,小範圍上線了2500臺服務器,每秒大概接收幾千個key探測,每天大概2-4億左右,因爲量很小,所以框架表現穩定。藉着這次壓測,剛好可以檢驗一下熱ke

原创 開源異步並行框架,完成任意的多線程編排、阻塞、等待、串並行結合、強弱依賴

本文首發於京東零售公衆號,https://mp.weixin.qq.com/s/17OAAbCKQND-AjTdf43TGw netty是一個經典的網絡框架,提供了基於NIO、AIO的方式來完成少量線程支持海量用戶請求連接的模型。nett

原创 手寫中間件之——並行框架(2 任務編排順序如何選型和實現)

這一篇我們就要開始手寫這個並行框架了。 做任何一個項目,都要做的事情都是先定大框架,後拆解任務。 那麼這個併發框架,要完成上一篇講的那些所有任務,該如何定大框架呢,如何選型呢? 如果大家仔細看了上一篇文章,可以看到該框架的難點和重點,主要

原创 手寫中間件之——並行框架(4 相互依賴模型的建立)

建議學習時,打開代碼https://gitee.com/tianyalei/asyncTool  對着代碼看。 上一篇主要講了如何實現異步回調,簡單回憶一下是如何實現的。java的future的get方法是同步阻塞的,無法達到任務完成後主

原创 Netty實現自定義協議

關於協議,使用最爲廣泛的是HTTP協議,但是在一些服務交互領域,其使用則相對較少,主要原因有三方面: HTTP協議會攜帶諸如header和cookie等信息,其本身對字節的利用率也較低,這使得HTTP協議比較臃腫,在承載相同信息的情況下,

原创 使用 Reactor 進行反應式編程

反應式編程(Reactive Programming)這種新的編程範式越來越受到開發人員的歡迎。在 Java 社區中比較流行的是 RxJava 和 RxJava 2。本文要介紹的是另外一個新的反應式編程庫 Reactor。 反應式編程介紹

原创 手寫中間件之——並行框架(3 異步回調如何實現)

上一篇主要講了任務的編排該如何實現,包括串、並、串並結合。建議一定要手寫個小demo去嘗試各種基本組合。 這一篇主要是講該如何實現異步回調。 如果之前有用過netty的應該知道,netty裏大量充斥着“回調”,各種addListener,

原创 手寫中間件之——並行框架(1 並行框架的應用場景和需求)

我們爲什麼會需要一個帶任務順序編排的並行框架 1 複雜的微服務系統間調用 經常會有這樣的調用場景:app(或web前端)調用後臺的一個接口,該接口接到該請求後,需要調用其他多個微服務來獲取數據,最終彙總一個最終結果返回給用戶。 譬如用戶請

原创 7 mysql事務(包括redo log,undo log,MVCC)及事務實現原理

之前寫了幾篇mysql存儲原理的文章。 6 Innodb_buffer_pool 5 b+ tree和每個page存儲結構 4 innodb文件系統基本結構(段、簇、頁面) 3 innodb文件系統初步入門 2 表對象緩存 1 連接層 這

原创 高級開發必須理解的Java中SPI機制

原文鏈接:https://www.jianshu.com/p/46b42f7f593c 本文通過探析JDK提供的,在開源項目中比較常用的Java SPI機制,希望給大家在實際開發實踐、學習開源項

原创 關於電商秒殺系統中防超賣、以及高性能下單的處理方案簡述

秒殺搶購系統的成功平穩運行,有一些需要注意的知識點。 1 高併發,以及刷接口等黑客請求對服務端的負載衝擊 2 高併發時帶來的超賣,即商品數量的控制 3 高負載下,下單的速度和成功率的保證 4 其他 以秒殺單品爲例,如搶小米手機。 解決方案

原创 深入淺出AQS之獨佔鎖模式

原文鏈接:https://www.jianshu.com/p/71449a7d01af AbstractQueuedSynchronizer(以下簡稱AQS)作爲java.util.concur

原创 深入淺出AQS之共享鎖模式

原文鏈接:https://www.jianshu.com/p/1161d33fc1d0 搞清楚AQS獨佔鎖的實現原理之後,再看共享鎖的實現原理就會輕鬆很多。兩種鎖模式之間很多通用的地方本文只會簡

原创 SpringCloud從入門到進階——單點部署Zuul的壓力測試與調優(一)

原文鏈接:https://www.cnblogs.com/lonelyJay/p/10076158.html 前言說明:通過zuul訪問後端服務時,這個流程是如何的?當你用500線程併發訪問zu

原创 SpringCloud從入門到進階 ——單點部署Zuul的壓力測試與調優(二)

原文鏈接:https://www.cnblogs.com/lonelyJay/p/10076441.html 內容   作爲微服務架構系統的入口,毫無疑問,Zuul的併發性能直接決定了整個系統的