原创 Unix網絡編程(七)使用select來實現服務器的併發

在上一文中 http://blog.csdn.net/michael_kong_nju/article/details/44887411 我們討論了I/O複用技術,即如何在一個進程裏監測多個I/O, 剛開始接觸還有點混論,但是現在想想,其

原创 關於leetcode中整形溢出的幾道題。

題一:String to Integer (atoi)   主要是要注意這裏的輸入輸出的特列: 題目的要求是:1 1. 前面的空格可以忽略; 2. 第一個非空格要麼是整數,要麼是'+','-';如過不是這些就返回0; 3. 要考慮整

原创 NGINX 處理 HTTP 上游響應

接收上游響應頭部 在創建和上游連接的時候,將對應的 read_event_hander 設置爲:ngx_http_upstream_process_header static void ngx_http_upstream_co

原创 memcached全面剖析

1. memcached 的介紹 memcached是什麼? memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 爲首開發的一款軟件。現在已成爲 mixi

原创 關於I/O多路複用技術 - Epoll剖析

首先看一下,在知乎上流傳的,被大家稱爲“最好的介紹Epoll的文章”。讀完確實感覺不錯,之所以最好,是因爲作者很清晰的從原理的角度用很直白的語言給我們介紹了Epoll到底完成了什麼功能。-By Lingtao 下面是原文: 最好的

原创 C++實現線程池

爲什麼需要線程池 目前的大多數網絡服務器,包括Web服務器、Email服務器以及數據庫服務器等都具有一個共同點,就是單位時間內必須處理數目巨大的連接請求,但處理時間卻相對較短。  傳統多線程方案中我們採用的服務器模型則是一旦接受到請

原创 關於 許式偉談Go Erlang併發編程差異

寫在開頭: 這篇文章是ECUG2014年七牛CEO許式偉的演講稿。這篇文章很詳細的分析了Go和 Erlang在實現併發編程的差異,但是有些內容可能因爲作者本人個人情感的一些原因有些出入導致了知乎上的一些討論,http://www.zhih

原创 CDN技術原理分析

1. 前言   Internet的高速發展,給人們的工作和生活帶來了極大的便利,對Internet的服務品質和訪問速度要求越來越高,雖然帶寬不斷增加,用戶數量也在不斷增加,受Web服務器的負荷和傳輸距離等因數的影響,響應速度慢還是經常

原创 Unix網絡編程(六)高級I/O技術之複用技術 select

I/O複用技術 本文將討論網絡編程中的高級I/O複用技術,將從下面幾個方面進行展開: a. 什麼是複用技術呢? b. 什麼情況下需要使用複用技術呢? c. I/O的複用技術的工作原理是什麼? d. select, poll and epo

原创 從C10K問題來看常見的中小型服務器I/O模型

問題描述: 關於C10問題的經典描述可以查看這個網頁 http://www.kegel.com/c10k.html 具體來說就是服務器如何處理10k個客戶端的併發連接,即 concurrent 10,000 connection 。

原创 Golang適合高併發場景的原因分析

典型的兩個現實案例: 我們先看兩個用Go做消息推送的案例實際處理能力。 360消息推送的數據: 16臺機器,標配:24個硬件線程,64GB內存  Linux Kernel 2.6.32 x86_64  單機80萬併發連接,lo

原创 Linux 進程管理與調度剖析

主要轉載於兩篇文章:http://www.ibm.com/developerworks/cn/linux/l-linux-process-management/http://www.linuxidc.com/Linux/2014-

原创 類型轉換和類型安全(現代 C++)

文檔標示符列出了常見類型轉換問題,並描述如何在 C++ 代碼中避免它們。 當您編寫C++程序時,務必確保它是類型安全的。 這意味着每個變量、函數參數和函數返回值存儲一種可接受的數據類型,涉及不同“有意義”類型的操作數,且不導致數據丟

原创 關於leetcode中對數組O(1)空間消耗操作的幾道題

其實這幾道題在leetcode中都是比較容易的,但是如果剛開始不理解題意的話可能就會進入陷阱。 整數數組中的幾個操作如下面所示,無非是怎樣進行數組元素的的交換。 Remove Element Given an array and a

原创 關於leetcode中c++ STL 的幾道題

1. Valid Parentheses 用來判斷字符串中的括號是否合法的一道題。注意輸入只會有 (, ) , {, }, [, ]這麼幾種情況。 合法的括號是以一定的順序進行匹配的一些。比如:"()[]', 或者"([])"等,而以"(