原创 tcp爲什麼需要3次握手4次揮手

一、起因    在網絡請求中,爲了提升性能,通常會採用長連接的方式避免在每一次交互都進行網絡鏈接的創建和關閉,而長連接就是tpc的鏈接方式。因而有必要對tcp的創建鏈接和關閉有所瞭解。在網絡上查詢了一些知識,加以理解,整理成了如下的總結,然

原创 消息投遞保證

一.消息投遞保證分類 消息的投遞保證主要是三種形式: 1.At most once—Messages may be lost but are never redelivered. 最多一次 --- 消息可能丟失,但絕不會重發。 2.At l

原创 大促準備(-)態度意識

一、大促無小事 大促是服務端系統的頭等大事,是自身技術水平、業務瞭解程度最好的檢驗場,也是擴大自身影響力最好的舞臺。在大促準備過程中對於任何不符合預期的動態需要百分之百的重視,確保瞭解背後的原因,評估其影響,如果不能徹底消除,必須要有相應的

原创 make no mistake, we are the last line of defense.

make no mistake, we are the last line of defense.

原创 大促準備(二)調用量統計

一、接口調用統計   詢問上游調用方或總pm在大促期間對我們系統對應服務的調用峯值及峯值發生時間、是否爲強依賴。 編號 服務 峯值 峯值時間 所在zone 場景 調用方 是否強依賴      

原创 xfire框架內部基本結構解析

1 概述 xfire是webservice的一個實現框架,是apache旗下CXF的前身,是一個比較被廣泛使用的webservice框架,網上有很多關於如何使用xfire或cxf的hello world案例,但是對於它是如何運行起來的介紹比

原创 java 非阻塞算法實現基礎:unsafe類介紹

一、爲什麼要有Unsfae、我們爲什麼要了解這個類 1. java通常的代碼無法直接使用操作底層的硬件,爲了使java具備該能力,增加了Unsafe類 2.java的併發包中底層大量的使用這個類的功能,瞭解這個類有助於瞭解java 併發包

原创 小記:本地服務耗時和上游調用顯示耗時相差過大問題排查及優化

問題 在最近一次壓測時發現了一個現象:監控顯示服務端p995耗時只有15ms左右,調用方的耗時卻高達2000ms,二者相差巨大。 定位過程 查看cpu 查看了壓測期間的cpu數據,發現cpu使用率只有20~30%,說明並不是cpu阻塞引起的

原创 容量規劃

容量規劃是個資源管理的命題,其目標是解答運行中的系統需要多少容量以及在什麼時候需要這些容量的問題,更簡單的說法就是回答我們需要在什麼時候加多少機器的問題。   容量規劃整體上是一個從上到下,再從下到上的一個過程,先是明確公司整體的目標,而後

原创 大促準備(六)預案配置和演練

一.爲什麼要有預案 事有輕重緩急,對於一個系統也是如此,在大促期間通常會將系統中一些不太重要的業務或操作給降級,比如詳情日誌打印、營銷類的消息、業務控制等,將資源用於大促中不得不操作的業務上;或者在大促過程中進行鏈路的切換,比如啓用近端、啓

原创 大促準備(四)限流配置

限流主要是針對非核心服務調用者進行的。 1、確定限流對象 原則上,大促核心鏈路上的服務都要配置限流,以免大促期間的流量超過預估值把服務器壓垮。同時還要考慮出口限流,主要是對db的限流,配置一個讀寫總流,以避免把服務器壓垮。 2、確定限流實現

原创 MessagePack簡析

一、MessagePack是什麼 先看官方的定義:MessagePack是一種高效的二進制序列化格式。它允許您像JSON一樣在多個語言之間交換數據。但是,它更快並且更小。   從官方定義中,可以有如下的結論: MessagePack是一

原创 大促準備(五)壓測改造

壓測是準備大促過程中至關重要的一個環節,在真正開始壓測之前系統通常要做一定的改造,以使得壓測請求的代碼執行路徑更符合實際情況,主要進行的改造和準備主要有如下內容 1、存儲準備 對於壓測服務中涉及到db(msyql、hbase、ob)的系統,

原创 大促準備(七)壓測

壓測分爲全鏈路壓測和單系統服務接口壓測兩種,對於全鏈路壓測要準備的事情和要改造的東西是特別多的,是一個相對龐大的系統工程,大致業務架構如下,可以單獨列出一個系列來講,這裏只講單系統的服務接口壓測。 壓測可以選擇的框架有多種,可以根據系統所

原创 大促準備(十)備註

上面的步驟雖然是有先後順序的,但是在真正執行時並不是單向的,而是會有跳躍或者反覆的 檢討總結非常重要,確保不要犯重複的問題 信任但需要確認,一定要確認,一定要確認,一定要確認, 不放過任何一個預料之外的現象,要找到問題的根源並予以解決,而