mixi engineer blog

*** 引っ越しました。最新の情報はこちら → https://medium.com/mixi-developers *** ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

Relationship Update Stream

週末にまた〜りとコーヒーをすすりながらDavid Recordonのブログを読んでたら、Six ApartのRelationship Update Streamという先日、紹介させて頂いたOAuthを使っている面白いプロダクトに遭遇したのでエンジニアブログを使って共有したいと思います。

Relationship Update Streamとは

こいつがどういう代物かというと、例えばとあるオープンなウェブサービス上で公開されているユーザのRelationship情報に変化が生じた (e.g. User AがUser Bとマイミクになった) という情報をAtomを利用して他のサービスと共有ができるデベロッパーのためのプラットフォームの事です。Six Apart Update Streamと似ているけどSix Apartのサービスに特化しないところがミソですね。

利用方法

ストリームの利用方法は公式ページでかなり解り易く紹介されているので深く追求はしませんが軽く要約すと:

更新情報を入手するにはhttp://updates.elsewhere.im/atom-stream.xmlにHTTP GETリクエストを送る。接続が確立するとAtom Serverはクライエントにストリームに注入された情報、そしてタイムスタンプを毎秒送信します。タイムスタンプの存在意義は何らかの不都合で接続に問題が生じた場合にタイムライン上の特定の場所からリスナーを再接続するためとの事です。ここで注意すべき点が情報量が半端じゃないという事。耐えられないなら消火ホースから水を飲むなと紹介されてますね。

対して更新情報をストリームに注入するにはhttp://updates.elsewhere.im:8080/にOAuth認証でAtom FeedをHTTP PUTするだけと簡素。ここの注意点は公開設定のフィルターがまだ無いので公開されている関係情報だけを注入してくださいと注意書きがあります。そして今は誰でもストリームに情報を注入できるわけではないようです (予め連絡が必要と書いてる)。サーバへの負荷、そしてセキュリティを考えると仕方のない事かもしれませんね。

興味をもたれた方は是非、本家のページに目を通してみてください。これが熱いと思うのは私だけではないはず。

超まとめ

Relationship Update Streamは今月の19日にローンチされ、開始してから間もないプラットフォームですが既に様々なサービスが参戦する (source) との事で今後の動きが楽しみです。ODFの時間などを使って遊び倒したいものの一つですが、こういったものを使うなら何か趣味のレベルで面白いウェブサービスを作りたいものですね。