原创 tcp_tw_recycle和tcp_tw_reuse

tcp TIME_WAIT 進入主題前必須做鋪墊啊,講講TIME_WAIT.因爲TCP連接是雙向的,所以在關閉連接的時候,兩個方向各自都需要關閉。先發FIN包的一方執行的是主動關閉;後發FIN包的一方執行的是被動關閉。主動關閉的一方會進

原创 linux IO模型與AIO

AIO 簡介 Linux 異步 I/O 是 Linux 內核中提供的一個相當新的增強。它是 2.6 版本內核的一個標準特性,但是我們在 2.4 版本內核的補丁中也可以找到它。AIO 背後的基本思想是允許進程發起很多 I/O 操作,而不

原创 python3.5協程

py2.x協程 yield:py2.x的協程都是通過yield生成器來實現的,可以說是模擬的協程(不能跨堆棧),yield可以暫停函數執行,send通知函數繼續往下執行,並提供給yield值,yield和send這種交互就構成了協程的基

原创 tcp自連接問題

今天在Segmentfault上有人提問了一個tcp自連接問題,這裏記錄下。所謂tcp自連接,就是出現源ip和源端口通目的ip和目的端口完全相同的情況,乍看起來不可思議,細細一想情理之中,本文重現下這種連接,並且說下解決思路。 現象重

原创 vm虛擬機訪問外網或暴露服務給外網訪問

vm虛擬機訪問外網或暴露服務給外網訪問 Vm常用網絡設置解釋 橋接:虛擬機跟宿主機處於同一網段(二者不是嵌套關係,是並列),前提是你宿主機所在局域網你有多餘1個的IP,否則可能IP衝突。此外,需要手工爲虛擬系統配置IP地址、子網掩碼,且

原创 風控標籤

前文說了一套用戶評分邏輯,對着基本能做出個demo來,但要想這套系統更精確的描述用戶好壞,則需要一批充足的基礎標籤。 本文就是共享一些每家公司都可以做的標籤。 1.IP相關 總的來說就是用戶的請求來自一些已知的惡意IP,比如 代理IP登錄

原创 用戶評分系統設計與實現

用戶評分設計與實現 維度 == 標籤,泛指描述惡意行爲的一類合集,不必糾結文中用詞,看官就當做一回事, 就是你理解的那回事就行。 不區分維度 不管你是IP維度、設備維度、xxx維度,只要能描述惡意傾向就算 不面向維度 不面向某一維度打

原创 分佈式事務簡述

國際開放標準組織Open Group定義了DTS(分佈式事務處理模型),模型中包含4個角色:應用程序、事務管理器、資源管理器、通信資源管理器四部分。事務處理器是統管全局的管理者,資源處理器和通信資源處理器是事務的參與者。 J2EE

原创 一個碼農搬磚3年的總結

畢業三年了,搬磚生涯第一階段已經結束,回顧一下純粹技術學習方面的經歷(不談職場厚黑學以及政治話題,嘿嘿),僅與各位看官共分享,同進步 在校重基礎 上面5個字,吐血箴言,別被導師忽悠,跟着做一些雞毛項目 校招筆試面試,絕大部分是基礎知識加算

原创 Golang學習摘錄(二)

Golang學習二 Full slice expressions切片操作 Python a[low: high: direction] 比如 a = [1, 2, 3], a[1:2:-1]負1表示反方向,結果是[3,2] Gola

原创 swap初探

swap初探 線上機器不停發郵件報警,swap使用超過閥值。實在受不了郵件,決定乾點運維的活。看看情況。 查swap整體使用情況 free -m 最先最直接就是這條命令了,結果類似下圖 total

原创 redis-py-cluster詳述

前文講了redis3.0引入cluster,怎麼能少cluster對應的python client包呢? 1.start pip install redis-py-cluster >>> from rediscluster import

原创 Golang 學習摘錄(一)

Golang 學習摘錄(一) 學過C,python,或者Java之類語言再來學習golang應該是無壓力,看看語法就能寫。語法上比較特殊的如下: 聲明變量並賦值使用 := a, b := 1, 2 //聲明變量a,b,並且賦值1,2

原创 Golang學習摘錄(三)

golang學習筆記(三) 方法(Method sets) The method set of any other type T consists of all methods declared with receiver type T

原创 IO模型淺析

概述 服務器端編程經常需要構造高性能的IO模型,常見的IO模型有四種: 同步阻塞IO(Blocking IO):即傳統的IO模型。 同步非阻塞IO(Non-blocking IO):默認創建的socket都是阻塞的,非阻塞IO要求so