原创 RabbitMQ教程之php-amqplib(一)安裝RabbitMQ

準備: yum install  build-essential openssl openssl-devel unixODBC unixODBC-devel  make gcc gcc-c++ kernel-devel m4 ncurse

原创 RabbitMQ教程之php-amqplib(二)簡介、入門

RabbitMQ 簡介、入門 介紹 RabbitMQ 是一個消息代理:它接收並轉發消息。你可以把它當成一個郵局,當你把你想發送的郵件投進郵箱時,你可以確定郵遞員最終會把郵件送到你的收件人。在上面的比喻中,我們把 RabbitMQ 比作 郵

原创 Nginx+Php-fpm運行原理詳解

一、代理與反向代理 現實生活中的例子 1、正向代理:訪問google.com 如上圖,因爲google被牆,我們需要vpn翻牆才能訪問google.com。 vpn對於“我們”來說,是可以感知到的(我們連接vpn)vpn對於”goog

原创 服務降級

什麼是服務降級 服務降級:主要是針對非正常情況下的應急服務措施;比如電商平臺,在針對618、雙11等高峯情形下采用部分服務不出現或者延時出現的情形。 舉個例子 大家都見過女生旅行吧,大號的旅行箱是必備物,平常走走近處綽綽有餘,但一旦出個

原创 Redis多種集羣方案

介紹 redis作爲一款優秀的NoSQL代表軟件,正變得越來越流行,雖然Redis很容易就可以啓動並使用,但是要想在線上用好它卻也並非易事。redis的高可用和可擴展無論是自帶的Redis Sentinel還是Redis Cluster都

原创 MyCAT配置文件詳解

一、server.xml文件 用途 1、配置系統相關參數 2、配置用戶訪問權限 3、配置SQL防火牆及SQL攔截功能 4、dml表示:insert,update,select,delete,0不可以,1可以 mycat密碼加密 java

原创 數據庫架構--mysql基準測試

基準測試是針對系統設置的一種壓力測試 基準測試:直接、簡單、易於比較,用於評估服務器的處理能力 壓力測試:對真實的業務數據進行測試,獲得真實系統所能承受的壓力 目的: 1、建立mysql服務器的性能基準線,確定當前mysql服務器運行情況

原创 數據庫架構

1、最好不要在主庫上數據庫備份、大型活動前取消這類計劃 2、影響數據庫的因素:SQL查詢速度,服務器硬件、網卡流量、磁盤IO QPS:每秒鐘處理的查詢量 TPS: 大量的併發:數據庫鏈接數被佔滿(max_connections默認是100

原创 數據庫架構--影響數據庫性能

1、硬件: Mysql不支持多CPU對同一SQL併發處理 web類應用:核心數量比頻率重要 2、操作系統 3、數據庫存儲引擎的選擇 MyISAM:不支持事務,表級鎖 InnoDB:事務級存儲引擎,完美支付行級鎖,事務ACID特性 4、數據

原创 常見狀態碼

一些常見的狀態碼爲: 200 – 服務器成功返回網頁 404 – 請求的網頁不存在 503 – 服務器超時   1xx(臨時響應) 表示臨時響應並需要請求者繼續執行操作的狀態碼。 100(繼續) 請求者應當繼續提出請求。服務器返回此

原创 一個基於ThinkPHP5.1的項目基礎應用,支持全局異常處理,支持類似AOP切面驗證層

一、支持全局異常處理,異常報錯,返回json,而不是html 使用ThinkPHP的小夥伴都知道,如果遇到服務報錯,直接就返回了HTML代碼 如果是做API接口的時候,報錯後,直接返回HTML,對移動端的小夥伴來說,這個是很不友好的 如果

原创 設計一個秒殺系統

1、秒殺主要解決2個問題:併發讀+併發寫 穩、準、快 高性能:設計數據的動靜分離方案、熱點的發現與隔離、請求的削峯與分層過濾、服務端的極致優化 一致性:實現秒殺減庫存 高可用:plan B  一、動靜分離方案 靜態數據緩存 1、把靜態數據

原创 MQ之間的差異

一、資料文檔 Kafka:中。有kafka作者自己寫的書,網上資料也有一些。 rabbitmq:多。有一些不錯的書,網上資料多。 zeromq:少。沒有專門寫zeromq的書,網上的資料多是一些代碼的實現和簡單介紹。 rocketmq:少

原创 常用的加密算法

一、摘要算法     1》MD5算法(Message Digest Algorithm 5) 可以保證數據傳輸完整性和一致性 摘要後長度爲16字節 摘要信息中不包含原文信息 所有加密結果不可逆(無法解密) 一般在傳送文件時 對源文件進行m

原创 各個分類算法優缺點

一、樸素貝葉斯 優點: 1、樸素貝葉斯模型發源於古典數學理論,有穩定的分類效率。  2、對小規模的數據表現很好,能個處理多分類任務,適合增量式訓練,尤其是數據量超出內存時,我們可以一批批的去增量訓練。  3、對缺失數據不太敏感,算法也比較