原创 系統架構方面的文章

(0) 系統架構彙總 (1)關於負載均衡的一切 (2)智能廣告系統架構 (3)twitter系統架構分析 (4)秒殺系統架構優化思路 (5)大型網站後臺架構的演變 (6)Instagram的技術架構 (7) 知乎技術方案初

原创 增加信號處理的回射服務器

問題:由上一篇文章分析可知,若客戶端進程終止,則服務器子進程會變成殭屍進程。原因是由於服務器子進程退出後,服務器父進程未獲取子進程的狀態信息,導致子進程變成殭屍進程。 解決方法:由於子進程退出會產生SIGCHLD信號給父進程,所以添加一個

原创 增加I/O多路複用的回射程序

在上一版本的回射程序中,若服務器子進程被殺死,則客戶端檢測不到這一事件的發生。原因在於,子進程被殺死時,雖然發送了FIN給客戶端套接字,但此時客戶端進程是阻塞於等待標準輸入上的,因此檢測不到套接字的輸入。解決辦法就是使用I/O多路複用。如

原创 關於TCP超時重傳、快速重傳、慢啓動、擁塞避免、擁塞發生、快速恢復、滑動窗口之間的關係概括

標題上這些概念很多,理解也有一定困難,尤其是它們之間的相互關係。這次就簡單概括一下。 1.滑動窗口 接收端使用的流量控制。當接收端的應用程序從TCP緩存中提取數據速度過慢,導致TCP緩存中還有未被提取的數據,由於TCP緩存大小是固定的,則

原创 TCP 的那些事兒(下)

轉自:http://coolshell.cn/articles/11609.html 這篇文章是下篇,所以如果你對TCP不熟悉的話,還請你先看看上篇《TCP的那些事兒(上)》 上篇中,我們介紹了TCP的協議頭、狀態機、數據重傳中的東西

原创 I/O多路複用之poll

對於poll的理論講解,可參考文章:http://www.cnblogs.com/Anker/p/3261006.html 1、基本知識   poll的機制與select類似,與select在本質上沒有多大差別,管理多個描述符也是進

原创 TCP的交互數據流和成塊數據流

轉自:http://blog.csdn.net/ns_code/article/details/32329157 前言     建立在TCP協議上的應用層協議有很多,如FTP、HTTP、Telnet等,這些協議根據傳輸數據的多少可以分

原创 linux常用命令的常用使用方法---ps

Linux作爲Unix的衍生操作系統,Linux內建有查看當前進程的工具ps。這個工具能在命令行中使用。 PS 命令是什麼 查看它的man手冊可以看到,ps命令能夠給出當前系統中進程的快照。它能捕獲系統在某一事件的進程狀態。如

原创 騰訊後臺開發面試總結

前段時間專心面過騰訊,經過了N輪的技術面,結果還是掛了,但沒掛在技術面,比較欣慰,回來之後寫一點總結,以供有夢想進入騰訊做後臺服務器開發的同學參考,本文章爲胡成精心總結,胡成原創,copy和轉載請通知。ps:()之內的文字由作者點評,非

原创 C/C++框架和庫

轉自:http://blog.csdn.net/weiwangchao_/article/details/52675869 值得學習的C語言開源項目 - 1. Webbench  Webbench是一個在linux下使用的非常簡

原创 【Linux學習】epoll詳解

什麼是epoll epoll是什麼?按照man手冊的說法:是爲處理大批量句柄而作了改進的poll。當然,這不是2.6內核纔有的,它是在2.5.44內核中被引進的(epoll(4) is a new API introduced in

原创 Nginx源碼分析與實踐---Nginx的初步配置

先寫個HTML文件: 新建目錄/home/zxin/nginx_temp_file,在該目錄下寫個index.html文件: <html> <head> My Nginx

原创 Linux Epoll介紹和程序實例

Linux Epoll介紹和程序實例 1. Epoll是何方神聖? Epoll可是當前在Linux下開發大規模併發網絡程序的熱門人選,Epoll 在Linux2.6內核中正式引入,和select相似,其實都I/O多路複用技術而已,並沒有什

原创 經受時延的確認(Delay ACK)

    通常TCP在接收到數據時並不立即發送ACK,相反,它推遲發送,以便將ACK與需要沿該方向發送的數據一起發送(有時稱這種現象爲數據捎帶ACK),這樣做的目的是儘量減少發往網絡的報文,以提高傳輸的效率,節省網絡資源。      

原创 判斷一棵樹爲另一顆樹的子樹

題目:     有兩顆二叉樹,判斷其中一顆A是否是另一顆B的子樹。 解決思想:     按先序遍歷樹B的每個結點,判斷結點是否和樹A的根結點相同。若相同,再判斷以該結點爲根結點的樹是否有和樹A相同的子樹。 代碼: #include <