Thursday, September 04, 2008

DNS server 與 AS

昨天 #bsdchat 剛好在討論 tw.freebsd.org 的 NS server 的事情。目前很多 freebsd.org 的 subdomain 都只有在當地,像是日本、南韓、德國:
jp.freebsd.org. 3600    IN      NS      ns3.imgsrc.co.jp.
jp.freebsd.org. 3600 IN NS castle.jp.freebsd.org.
jp.freebsd.org. 3600 IN NS asuka.jp.freebsd.org.

kr.freebsd.org. 86400 IN NS ns.ziom.co.kr.
kr.freebsd.org. 86400 IN NS ns2.ziom.co.kr.

de.freebsd.org. 10771 IN NS ns.cs.tu-berlin.de.
de.freebsd.org. 10771 IN NS baerenklau.de.freebsd.org.
這其實對於 DNS 架構來說,並不是很好的設計。比較好的設計是放到不同地區 (不同洲),確保不會一起掛掉。

主要的原因在於有些服務會對「查不到 DNS record」很敏感,像是 mail system:
  1. 對於 username@tw.freebsd.org 的人,發信時如果找不到 tw.freebsd.org 的 MX 與 A record,被認定是 spam 的分數會上升。
  2. 對於寄信到 username@tw.freebsd.org 的人,如果找的到 MX 或是 A record,但連不到 mail server,那麼這封信會被保留在 mail system 裡面。但如果找不到,會馬上被退信。
所以,要避免大停電或是大斷線影響其他系統,應該要儘量把 NS server 放到不同地區,不同 AS# 的網路上。

Wednesday, September 03, 2008

國內的網路,與 CDN

前陣子跟一堆老外們談 CDN 服務,計費方式還蠻彈性的,常見的兩種包括以實際流量計算,或是 MRTG 五分鐘圖 sorting 95% 流量計算。

不過,值得提出來的,CDN 的價錢比起國內的頻寬都便宜。以 Slideshare 這個站公開的數據來看 (Panther Express and S3),每個月重新計算,第一個 8TB 是 USD$0.28/GB,第二個 8TB 是 USD$0.24/GB。

如果網站有區域性,100Mbps (MRTG 五分鐘圖 sorting 95% 計算方式) 大約是 20TB/month,照比率計算,第一個 8TB 換算成 sorting 95% 是 40Mbps 的量,也就是 NTD$1764/Mbps。這個價錢如果在國內的 ISP 只買 40Mbps,在不靠關係,又要有一定的網路品質,是不可能的數字...

以目前來看,把靜態檔案丟到 Amazon S3 上,以 reverse proxy CDN 算是相當好的方式。

對了,國外的 CDN 大多都有提供試用的服務,跟 sales 要求,通常都有測試的機會。Wikipedia 上的 Content delivery network 這個條目下面列的公司都可以寫信去問看看。

Tuesday, September 02, 2008

寫自己的 PHP Controller

我對於 Zend FrameworkZend_Controller 實在是搞不太懂,要求使用 PHP5,但又沒用到 PHP5 的特性...

我理想中的 Controller 是透過 PHP5 的 ArrayAccess 實做這樣的效果的:
$name = $c['name'];
$c['Content-Type'] = 'text/plain; charset=UTF-8';

我花了點時間開始寫自己的 Controller,希望善用 PHP5 語言特性使得寫起來比較方便,順便玩玩 Mercurial 的操作方式。

目前 Repository 放在 freeHG 上:Hasname Controller,有想要看看到底是怎麼搞的人可以自己 clone 回去看,等之後功能比較完整後再開始來寫文件。

太久沒到這邊來寫 blog...

太久沒寫 Blog 反而被標上 Spam Blog?XD (寫文章需要 CAPTCHA)