Memcache基礎

在路上發表於2017-01-29

概述

Memcache是danga.com的一個專案,最早是為 LiveJournal 服務的,目前全世界不少人使用這個快取專案來構建自己大負載的網站,來分擔資料庫的壓力。
它可以應對任意多個連線,使用非阻塞的網路IO。由於它的工作機制是在記憶體中開闢一塊空間,然後建立一個HashTable,Memcached自管理這些HashTable。
Memcache官方網站:http://www.danga.com/memcached,更多詳細的資訊可以來這裡瞭解 ?

為什麼會有Memcache和memcached兩種名稱?

Memchache 是這個專案的名稱,而memcached是服務端的主程式檔名

Memcache的安裝

Memcache的安裝分為memcache服務端和memcached客戶端的安裝,服務端即提供資料快取服務的伺服器,通常安裝在linux伺服器上,客戶端即安裝各開發語言的擴充套件,例如php的擴充套件。

Memcache的安全

因為Mecache是以root許可權執行的,況且裡面可能存在一些我們未知的bug或者是緩衝區溢位的情況,這些都是我們未知的,所以危險性是可以預見的。為了安全起見,我做兩點建議,能夠稍微的防止黑客的入侵或者資料的洩露。

  • 內網訪問
    最好把兩臺伺服器之間的訪問是內網形態的,一般是Web伺服器跟Memcache伺服器之間。普遍的伺服器都是有兩塊網路卡,一塊指向網際網路,一塊指向內網,那麼就讓Web伺服器通過內網的網路卡來訪問Memcache伺服器,我們Memcache的伺服器上啟動的時候就監聽內網的IP地址和埠,內網間的訪問能夠有效阻止其他非法的訪問。

memcached -d -m 1024 -u root -l 192.168.0.200 -p 11211 -c 1024 -P /tmp/memcached.pid“
Memcache伺服器端設定監聽通過內網的192.168.0.200的ip的11211埠,佔用1024MB記憶體,並且允許最大1024個併發連線

  • 設定防火牆
    防火牆是簡單有效的方式,如果卻是兩臺伺服器都是掛在網的,並且需要通過外網IP來訪問Memcache的話,那麼可以考慮使用防火牆或者代理程式來過濾非法訪問。

一般我們在Linux下可以使用iptables或者FreeBSD下的ipfw來指定一些規則防止一些非法的訪問,比如我們可以設定只允許我們的Web伺服器來訪問我們Memcache伺服器,同時阻止其他的訪問。

  iptables -F
  iptables -P INPUT DROP
  iptables -A INPUT -p tcp -s 192.168.0.2 --dport 11211 -j ACCEPT
  iptables -A INPUT -p udp -s 192.168.0.2 --dport 11211 -j ACCEPT

上面的iptables規則就是隻允許192.168.0.2這臺Web伺服器對Memcache伺服器的訪問,能夠有效的阻止一些非法訪問,相應的也可以增加一些其他的規則來加強安全性,這個可以根據自己的需要來做。

引用:http://www.ccvita.com/259.html

相關文章