原创 KVM網絡虛擬化(一)

KVM網絡虛擬化(一) KVM與QEMU 網絡虛擬化屬於IO虛擬化,KVM模塊本身不提供任何設備模擬,模塊在初始化的時候會創建特殊設備文件/dev/kvm,並提供KVM API供用戶態調用。KVM API是一些列ioctl集合。下

原创 OVS 配置虛機vlan

OVS 配置虛機vlan 測試環境: 網絡:vlan100, 192.168.100.0/24 vlan101, 192.168.101.0/24 宿主系統:CentOS-7.2 64bit 宿主IP:192.168.100

原创 Golang調度管理筆記--如何保證G不會被其他G的系統調用、網絡調用阻塞?

GMP模型中,G在發生系統調用或網絡調用時,如何保證其他G不被阻塞? 系統調用通過syscall,先解綁PM,P選擇或新建M,重新調度,G狀態爲syscall,阻塞當前M。系統調用結束後獲取PLocal G隊列或全局G隊列 ch

原创 網卡中斷與多隊列

網卡中斷與多隊列 X86系統採用中斷機制協同處理CPU與其他設備工作。長久以來網卡的中斷默認由cpu0處理,在大量小包的網絡環境下可能出現cpu0負載高,而其他cpu空閒。後來出現網卡多隊列技術解決這個問題。 通過命令cat

原创 Python下劃線和私有變量

Python下劃線和私有變量 最近小組python氛圍濃厚,有同學發現自己在一個類裏定義了一個方法,但不能用getattr調用。我整理一下python中下劃線在命名時的特殊用法。 規範描述 根據PEP-0008的規範: In a

原创 Python 標準庫functools

Python標準庫functools functools模塊提供了高階函數功能:函數可以作爲或者返回其他函數。通常, 任何可調用對象可以被視爲在本模塊的函數。 高階函數是指將函數作爲傳參或返回值的函數,即functools提供

原创 KVM網絡虛擬化(二)

KVM網絡虛擬化(二) KVM網卡虛擬化除了全虛擬化、Virtio外,還可以利用網卡PCI透傳技術,SR-IOV技術,提供更高性能的虛擬化網卡。 PCI透傳 前面介紹的虛擬化技術本質上都是共享設備,帶來的代價就是性能的降低,在

原创 Linux ping丟包case

Linux ping丟包case case描述 ping 1臺虛機丟包嚴重(70%),同宿主其他虛機正常。從虛機往外ping正常。宿主和虛機用linux bridge橋接。 問題查找過程 1、宿主、虛機路由正確 2、交換機做了錯

原创 Celery實踐

Celery簡介 Broker Backend 配置隊列 路由 錯誤重試 Celery簡介 Celery 是一個簡單、靈活且可靠的,處理大量消息的分佈式系統,並且提供維護這樣一個系統的必需工具。它是一個專注於實時處理的

原创 WSGI

WSGI Web服務器網關接口(Python Web Server Gateway Interface,縮寫爲WSGI)是爲Python語言定義的Web服務器和Web應用程序或框架之間的一種簡單而通用的接口。自從WSGI被開發出來

原创 Docker registry + Ceph存儲

Docker registry + Ceph存儲 環境:centos 7.2 64bit 1,安裝docker-registry yum install docker-registry 2,配置/etc/sysconfig/

原创 本地Pypi源搭建

利用devpi搭建本地pypi源 背景 訪問外網慢,需要搭建一個本地pypi源。 需求 提供內網開發環境和生產環境pip訪問。只需要提供一些特定包,不需要全量。需要有一定的HA。 方案 有同學已經整理了一些pypi 本地緩存方案。

原创 Python作用域

python作用域 LEGB原則 python中作用域有四種: L (Local) 局部作用域 E (Enclosing) 閉包函數外的函數中 G (Global) 全局作用域 B (Built-in) 內建作

原创 Python 對象特殊方法:(二)對象可調用接口

對象可調用接口 對象通過__call__(self [, *args [, **kwargs]])方法模擬函數行爲 如果一個對象提供了__call__()方法即可被調用。下面給幾個例子: 例1, class Distance

原创 Python 對象特殊方法:(一)對象創建與銷燬

對象創建與銷燬 Python中已雙下劃線開頭和結尾的方法是特殊方法,分別對應對象的一些特殊行爲。看過《參考手冊》對於對象行爲與特殊方法的系統解釋,這裏整理一下筆記。 這裏主要介紹python中對象創建、初始化和銷燬等行爲對應的特