在一個(gè)寧靜的午夜,我睡覺正酣。突然電話將我從睡夢(mèng)中驚醒。生產(chǎn)環(huán)境出現(xiàn)事故了... 問題 在線上出現(xiàn)部分客戶提交訂單失敗,大量的錯(cuò)誤原因是商品的庫存不足。而我們系統(tǒng)的設(shè)計(jì)先預(yù)定...
在一個(gè)寧靜的午夜,我睡覺正酣。突然電話將我從睡夢(mèng)中驚醒。生產(chǎn)環(huán)境出現(xiàn)事故了... 問題 在線上出現(xiàn)部分客戶提交訂單失敗,大量的錯(cuò)誤原因是商品的庫存不足。而我們系統(tǒng)的設(shè)計(jì)先預(yù)定...
基本概念 Elasticsearch是一個(gè)分布式全文檢索系統(tǒng)。很多人說到它的特點(diǎn):查詢快,高吞吐量,可擴(kuò)展。我們首先來看看它的底層數(shù)據(jù)結(jié)構(gòu)。 底層數(shù)據(jù) 倒排索引(revert...
1. 介紹 2. 格式化 3. 注釋 4. 命名 5. 分號(hào) 6. 控制結(jié)構(gòu) 7. 函數(shù) 8. 數(shù)據(jù) 9. 初始化 10. 方法 11. 接口和其它類型 12. 空白標(biāo)識(shí)符 ...
背景 項(xiàng)目有部分rest api提供給第三方使用,這部分API的說明由技術(shù)文檔人員編寫。由于技術(shù)文檔人員對(duì)API的理解出現(xiàn)偏差,所以API的文檔可操作性需要進(jìn)行改進(jìn)。 我們?cè)?..
背景 最近同事在對(duì)項(xiàng)目Jersey由1.6升級(jí)至2.X,本地測(cè)試一切順利。但是當(dāng)部署到INT環(huán)境后,發(fā)現(xiàn)后臺(tái)異步線程執(zhí)行途中就消失了。其偽代碼如下: 現(xiàn)象 在輸出日志中,可以...
AbstractQueuedSynchronizer(AQS)提供了實(shí)現(xiàn)鎖和同步的一套基本框架。子類只需要通過簡(jiǎn)單的狀態(tài)維護(hù),即可實(shí)現(xiàn)lock or unlock。 下面,我...
概念 上篇文章我們討論了快速排序,其核心思想是給定一個(gè)pivot, 每次將待排的序列拆分為兩部分,左邊序列<=pivot, 右邊序列>pivot, 然后遞歸對(duì)左右進(jìn)行排序???..
概念 上篇文章我們討論了歸并排序,其核心思想是每次將待排的序列拆分為兩部分,最終合并成一個(gè)序列。簡(jiǎn)單理解拆分為二叉排序樹,從下往上一層一層的合并。本文我們將討論快速排序,其平...
概念 排序類的算法,有很強(qiáng)的實(shí)踐需求,是非?;A(chǔ)的一類算法。在找工作面試中,排序算法也是大概率出現(xiàn)。本文將講述排序常用的算法:歸并排序,快速排序和插入排序。 歸并排序 假如有...
Memcached之服務(wù)器端簡(jiǎn)單介紹了Memcached的Server功能,了解Memcached的服務(wù)器端負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和cache的失效管理。對(duì)Memcached來說,它...
Cache 緩存是架構(gòu)之利器,在高并發(fā)的互聯(lián)網(wǎng)中,是殺手锏的武器。我們會(huì)通過一些列的文章來介紹緩存相關(guān)的工具(包括memcached, redis), 緩存的架構(gòu)設(shè)計(jì)以及緩存...
概念 QPS: 系統(tǒng)每秒中的請(qǐng)求數(shù)量并發(fā)數(shù):?jiǎn)闻_(tái)服務(wù)器同時(shí)處理請(qǐng)求的數(shù)量響應(yīng)時(shí)間: 請(qǐng)求開發(fā)到返回的處理時(shí)間 預(yù)估訪問總量 系統(tǒng)注冊(cè)用戶為400萬,根據(jù)經(jīng)驗(yàn),平均每個(gè)用戶每...
概念 在關(guān)系數(shù)據(jù)庫中,ID是用來定義某個(gè)數(shù)據(jù)的唯一標(biāo)識(shí)。任何新生成的數(shù)據(jù),我們都會(huì)為它賦予一個(gè)新的唯一的ID。通常來說,我們都可以通過數(shù)據(jù)庫的ID sequence的自增,來...
Netty是一個(gè)基于事件驅(qū)動(dòng)的異步高吞吐量服務(wù)器客戶端框架。它的架構(gòu)具有高性能、高擴(kuò)展性及可靠性。 架構(gòu) Channel 直接負(fù)責(zé)I/O的操作的管理,比如: read, wr...
Elastic search查詢 建模和準(zhǔn)備數(shù)據(jù) 由于賽事機(jī)構(gòu)的參加人員較多,且使用比較頻繁,為了避免單一索引引起頻繁操作,這里我們構(gòu)建動(dòng)態(tài)索引。索引的命名規(guī)則為:mock_...
目的 Kafka是為了實(shí)時(shí)大量數(shù)據(jù)的中間件。它的設(shè)計(jì)是為了滿足以下場(chǎng)景: 高吞吐量,支持海量事件,比如:日志的聚合 支持大量數(shù)據(jù)的積壓,以達(dá)到離線數(shù)據(jù)的定時(shí)處理 分布式,容錯(cuò)...