Plurk 的 OAuth API…

聲明:我目前是 PIXNET 的員工。PIXNET 提供 OAuth API 服務給 PIXNET 本體與 Murmur.tw

Plurk 最近推出了新的 OAuth Core 1.0a API,終於是不用存帳號密碼了……今天晚上試著寫了一個機器人:台灣漫畫出版情報

現在的主要語言都有提供 OAuth Core 1.0a 的 Library,不過因為某些因素(其實就是懶……),我用的是 ronnywang 寫的 phppixnetapi 來改。其實也只要改掉前面定義的三個 URL,然後各個 function 照著 Plurk 提供的API寫就可以了。

寫完,測試發噗不會動……不過取得 Timeline 倒是成功了。檢查了老半天看不出什麼原因,最後把 POST 改成 GET 就可以了……OTL 真是令人絕望。

另外測試發噗的時候一如往常的遇到 Plurk 的防洪機制XD

Amazon Web Services 解釋這次掛掉的原因…

Amazon Web Services 今天在網站上公佈了 4/21 EBS 故障的原因。雖然一開始的人為操作失誤很快就回覆(roll-back)了,不過後面造成的骨牌效應還是讓整個系統掛了(不穩定)了三天……

文章裡面有一些設計系統的時候的重點:

  • 多次失敗重試的時候要把重試的間隔拉長(back off aggressively)。
  • 想辦法在要救資料的時候可以(半)自動化。
  • 限制失敗重試的次數,如果超過的話就暫時從整個系統中隔離。

另外 AWS 也提出了這次事件的賠償方式:

For customers with an attached EBS volume or a running RDS database instance in the affected Availability Zone in the US East Region at the time of the disruption, regardless of whether their resources and application were impacted or not, we are going to provide a 10 day credit equal to 100% of their usage of EBS Volumes, EC2 Instances and RDS database instances that were running in the affected Availability Zone. These customers will not have to do anything in order to receive this credit, as it will be automatically applied to their next AWS bill. Customers can see whether they qualify for the service credit by logging into their AWS Account Activity page.

簡譯如下:不論客戶是否受到影響,只要發生問題的當時在美東地區有使用 EBS 或是 RDS,AWS會賠償 10 個整天客戶所使用的資源,以 credit 的方式(未來可以抵)給客戶。

詳細的賠償額度可以看四月份的帳單。另外這次的賠償是不用另外申請的(EC2的SLA規定低於Service Level時要另外寫信去申請才能獲得賠償)

AWS Route53 的 CLI 管理工具:Net::Amazon::Route53

在找其他資料時意外發現的:Net::Amazon::Route53。Route53 的簡介可以看之前的文章:AWS 推出 Anycast DNS 服務:Amazon Route 53

比起 Amazon 提供的陽春工具好多了,加減一個Record不用寫XML寫到死……

列出 Zone 的 Records:

jnlin@Florence [1:57am] ~> route53 -keyname my-aws-account record list jnlin.org.
jnlin.org. A 3600 69.10.61.218
jnlin.org. NS 172800 ns-225.awsdns-28.com. ns-1456.awsdns-54.org. ns-804.awsdns-36.net. ns-1569.awsdns-04.co.uk.
jnlin.org. SOA 900 ns-225.awsdns-28.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
test.jnlin.org. A 3600 127.0.0.1

刪掉一個 Record:

jnlin@Florence [1:59am] ~> route53 -keyname my-aws-account record delete jnlin.org. –name test.jnlin.org.
Record deleted

新增一個 Record:

jnlin@Florence [2:07am] ~> route53 -keyname my-aws-account record create jnlin.org. –name localhost.jnlin.org. –type A –ttl 86400 –value 127.0.0.1
Record created

Zerigo 的 GeoDNS 服務…

長輩幾個禮拜前介紹了ZerigoGeoDNS服務,這幾個禮拜測試起來還不錯,今天就把全部的量都丟上去了……

除了有一般的根據洲、國家的判斷,在北美還可以分四個區域分配不同的Server位置。另外也有提供API進去改設定…

如果付錢的話還可以客製化DNS回應的邏輯。可以用各種語言(Perl、Python、Ruby…)寫 prototype 給他們,由他們實做在他們的Server上。不過目前的GeoDNS應該就夠用了。

如果有興趣的人可以用下面的 Referral Code 註冊看看:http://www.zerigo.com/ref/kz0gcb

Adobe 在 Flash Media Server 裡支援 HTTP Live Streaming

在 NAB 裡面,Adobe宣佈在 Flash Media Server (FMS) 裡支援 HTTP Live Streaming (HLS),也就是 iOS 用的那套 Streaming 方式。

因為 Android 3.0 也支援 HLS,不出意外的話應該會成為新的Streaming標準了。

Update: 不是 Apple ,Adobe 才對。感謝far

Amazon Web Service 新增日本東京機房

Amazon Web Service (AWS) 繼去年在新加坡提供服務之後,今日又宣佈了於日本東京新增機房提供服務。常用的服務像EC2、S3等都有提供,可以改善從台灣使用 AWS 的 response time。

價格的話約比新加坡的點貴了 6~7% (頻寬、儲存空間或是CPU都是)。
RTT 約為 40ms 左右,從台灣固網過去的品質比較好,中華電信的話還有去回不同路的問題(看起來繞到大阪去了……),按照新加坡的經驗,大概再兩三個月就會 tune 的差不多了。

現在的價錢還是偏高一些,不過 AWS 有定期降價的好習慣,所以應該可以期待年底能提供更優惠的價格。

AWS 提供 Email 服務 (SES)

根據 AWS Blog,AWS 開始提供使用者發送大量 Email 的服務 (Simple Email Service, SES)。價錢是每一萬封信 USD$1,流量費用另計。

要使用 SES 的服務是需要 Amazon 審核通過的,在未通過之前,收件者必須先使用 SES 的 API 認證過才能收到信,並且有一天最多寄出 200 封信的限制。審核通過後,任何收件者都能收到信,但是一開始一天最多只有 1000封信的Quota,隨著使用量與使用情形(例如Amazon有沒有收到 complain)而增加,最大一天可以寄出100萬封信。

另外寄信的速度也有限制。一開始是每秒鐘一封信,隨著使用狀況調整,最大可以到每秒鐘 90 封信。如果有一天寄出超過100萬封信的需求,可以向AWS提出調整要求。

另外,SES也可以整合進現有的Email Server裡面。(Postfix 範例