原创 Nginx 關於SSL安全協議

   表示層是SSL協議所發揮作用的這一層,通過握手、發送祕鑰、告警 對稱加密 1>如何實現的? 其中異或有一個對稱的特點,把密文和密鑰同樣做異或操作,就可以得到明文,所以說性能非常的好。只要遍歷一次得到最終密文,解密也是一樣的 非對

原创 回顧這兩個月的面試總結,不斷的試錯不斷地堅持!!你也可以的

從四月底開始複習,然後邊面試邊複習,總結,終於喜得TMD其中一家的offer,果然對於剛畢業不到一年經驗的我們來說,社招還是有點殘酷的,一次次的失敗,還要不斷複習不斷面試,其中過程從四月底到六月底差不多兩月,每天晚上學習到一點,早上七點半

原创 初識Nginx

Nginx的優點    大多數程序或者服務器隨着併發數的上升,他的rps會急劇下降,而Nginx的高併發則需要讓每個連接儘可能少可以達到而在高併發又能達到高性能,就需要很好的設計,Nginx可以達到32核64G內存可以輕鬆達到數千萬的併

原创 《Linux網絡編程》: connect()、listen()和accept()

基於 TCP 的網絡編程開發分爲服務器端和客戶端兩部分,常見的核心步驟和流程如下: connect()函數 對於客戶端的 connect() 函數,該函數的功能爲客戶端主動連接服務器,建立連接是通過三次握手,而這個連接的過程是由內核完成

原创 一些高併發下web服務器http異常狀態碼分析

環境說明 壓測工具:apache/ab web服務器:NGINX/1.8.0 + PHP 5.6.25 php腳本:get.php 注: nignx 設置超時 fastcgi_connect_timeout 60 fastcgi_sen

原创 多線程還是多進程的選擇及區別

最原始的博主我沒有找到,只能把我從何處轉的此篇博文的鏈接發出來。感覺這篇博文寫的很棒,特此轉載了 魚還是熊掌:淺談多進程多線程的選擇 關於多進程和多線程,教科書上最經典的一句話是“進程是資源分配的最小單位,線程是CPU調度的最小單位”,這

原创 Web的安全問題

1、XSS攻擊(跨站點腳本攻擊)    指黑客通過篡改網頁,注入惡意HTML腳本,在用戶瀏覽網頁時,控制用戶瀏覽器進行惡意操作的一種攻擊方式    常見的XSS攻擊類型有兩種:    1、反射性   (url參數直接注入)    反射性

原创 kafka:如何保證消息不丟失不重複

首先要考慮這麼幾個問題: 消息丟失是什麼造成的?(從生產端和消費端兩個角度來考慮) 消息重複是什麼造成的?(從生產端和消費端兩個角度來考慮) 如何保證消息有序? 如果保證消息不重不漏,損失的是什麼?   下面是文章詳情,這裏先簡單總結

原创 負載均衡集羣介紹

1.1、什麼是負載均衡集羣 負載均衡集羣提供了一種廉價、有效、透明的方法,來擴展網絡設備和服務器的負載、帶寬、增加吞吐量、加強網絡數據的處理能力、提高網絡的靈活性和可用性 搭建負載均衡器的需求: 1)把單臺計算機無法承受的大規模的併發訪問

原创 數據庫分庫分表思路

一. 數據切分 關係型數據庫本身比較容易成爲系統瓶頸,單機存儲容量、連接數、處理能力都有限。當單表的數據量達到1000W或100G以後,由於查詢維度較多,即使添加從庫、優化索引,做很多操作時性能仍下降嚴重。此時就要考慮對其進行切分了,切分

原创 常見的DDOS攻擊及原理-應用層

一、 簡述        隨着網絡技術和網絡應用的發展,網絡安全問題顯得越來越重要,已經被提到一個很高高的高度。DDOS攻擊隨着互聯網的快速發展,也日益猖獗,從原來的的幾兆、幾十兆,到現在的幾十G、幾十T的流量攻擊,形成了一個很大的利益鏈

原创 PHP源碼分析(基本變量)

小而巧的zval      zval可以表示PHP中任意一個變量 struct_zval_struct{ zend_value value; union u1; union u2; } typedef u

原创 PHP7中數組(HashTable)類型

HashTable數據結構的描述在Zend/zend_hash.h文件中。首先,HashTable中的每一個元素都保存在下面這樣的一個struct中:PHP使用了雙向鏈表和Hash表結合的方式實現HashTable,這使得HashTabl

原创 redis的一些問題分析

1、redis的原子性 原子性:原子性是數據庫的事務中的特性。在數據庫事務的情景下,原子性指的是:一個事務(transaction)中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。 對於Redis而言,命令的原子性指的

原创 PHP源碼學習一(PHP7新特性、運行模式和生命週期)

1、PHP目錄     PHP源碼核心目錄 Zend文件下,spai放在sapi的文件下,一些擴展的方法和庫函數在ext文件下     編譯的腳本是在configure目錄下,接下來make進行編譯,make install 會把相關的二