原创 TCP與UDP的區別及相關問題

目錄 TCP與UDP的區別 TCP協議和UDP協議爲什麼會共存 TCP和UDP分別對應的協議 爲什麼 TCP 叫數據流模式? UDP 叫數據報模式? 怎樣使用 UDP 實現 TCP 的可靠傳輸 TCP通過哪些措施,保證傳輸可靠? TCP的

原创 三次握手與四次揮手及常見問題

目錄 TCP的三次握手過程?爲什麼會採用三次握手,二次握手可以嗎? TCP的四次揮手過程,爲什麼要四次 TIME_WAIT狀態的概念及意義。   TCP的三次握手過程?爲什麼會採用三次握手,二次握手可以嗎? 答:建立連接的過程是利用客戶

原创 跳躍表(SkipList)

跳躍表在查詢、添加、刪除的時間複雜度上做到O(logN) 跳躍表(SkipList)是一種基於有序鏈表的擴展,簡稱跳錶   思考:如何才能更快找到一個有序鏈表的某一節點 以上做法雖然增加了50%的額外空間,但是性能提高了一倍,此外還

原创 各種排序算法、十大排序算法

目錄 二分查找 冒泡排序 選擇排序 插入排序 希爾排序 歸併排序 快速排序 堆排序 計數排序 桶排序 基數排序 外部排序與歸併排序(強調一種思想) 動態規劃要點: 二分查找 //不使用遞歸實現:while循環,時間O(log2 N),

原创 Paxos算法講解

Paxos算法解決的問題是在一個消息可能會發生延遲、丟失、重複的分佈式系統中 如何就某個值達成一致,保證不論發生以上任何異常,都不會破壞值的一致性。 基於一大堆完全不可靠的網絡條件下,可靠確定地實現共識一致性的算法        Paxo

原创 Cookie 和 Session 關係詳解

目錄 什麼是 Cookie 和 Session ? Cookie和Session的區別 爲什麼需要 Cookie 和 Session,他們有什麼關聯? 如果瀏覽器中禁止了 Cookie,如何保障整個機制的正常運轉。 如何考慮分佈式 Ses

原创 分佈式事務、二階段提交協議、三階段提交協議

分佈式事務 分佈式事務是指會涉及到操作多個數據庫的事務。其實就是將對同一庫事務的概念擴大到了對多個庫的事務。目的是爲了保證分佈式系統中的數據一致性。分佈式事務處理的關鍵是必須有一種方法可以知道事務在任何地方所做的所有動作,提交或回滾事務的

原创 正向代理與反向代理

正向代理 正向代理 是一個位於客戶端和原始服務器(origin server)之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並指定目標(原始服務器),然後代理向原始服務器轉交請求並將獲得的內容返回給客戶端。 代理端代理的

原创 一條sql語句執行得很慢的原因有哪些?(面試題)

目錄 1、偶爾很慢 1.1、數據庫在刷新髒頁(flush) 1.2、拿不到鎖 2、一直這麼慢 2.1、沒用到索引 2.2、數據庫選錯了索引   一條 SQL 語句執行的很慢,那是每次執行都很慢呢?還是大多數情況下是正常的,偶爾出現很慢呢?

原创 Mysql數據庫中的各種鎖

在介紹InnoDB與MyIsam的區別時,提到了:InnoDB支持表、行(默認)級鎖,而MyISAM支持表級鎖 本文便着重對Mysql數據庫中的鎖進行介紹   概述     相對其他數據庫而言,MySQL的鎖機制比較簡單,其最顯著的特點是

原创 分佈式事務解決方案——柔性事務TCC(Base原則)

柔性事務 所謂柔性事務,相比較與數據庫事務中的ACID這種剛性事務來說,柔性事務保證的是“基本可用,最終一致。”這其實就是基於BASE理論,保證數據的最終一致性。 雖然柔性事務並不像剛性事務那樣完全遵循ACID,但是,也是部分遵循ACID

原创 分佈式系統的CAP理論

CAP理論:一個分佈式系統最多隻能同時滿足一致性(Consistency)、可用性(Availability)和分區容錯性(Partition tolerance)這三項中的兩項。   一致性   可用性 可用性指“Reads and

原创 分佈式系統的BASE理論

BASE理論是對CAP理論的延伸,核心思想是即使無法做到強一致性(Strong Consistency,CAP的一致性就是強一致性),但應用可以採用適合的方式達到最終一致性(Eventual Consitency)   BASE是指基本可

原创 分佈式一致性Consistency

分佈式領域CAP理論:任何一個分佈式系統都無法同時滿足Consistency(一致性),Availability(可用性),Partition tolerance(分區容錯性) 這三個基本需求。最多隻能滿足其中兩項。  但是,一個分佈式系

原创 集中式、分佈式、集羣、高併發等概念

集中式、分佈式、集羣     互聯網架構最大的特點: 高併發:單位時間收到的請求數量 海量數據:海量數據存儲與分析   集中式系統 集中式系統用一句話概括就是:一個主機帶多個終端。終端沒有數據處理能力,僅負責數據的錄入和輸出。而運算、存