September 2009
2 posts
1 tag
Threading Mechanism of Tumblr
wamgl:
Adios: 竟然在 exploit application logic ~~~
昨天跟 Adios 實驗了一下,reblog 後會有 link 附在原始與回應文章底下, Tumblr 稱之為 notes,其中包含 posted、liked、reblogged 等資訊。
但是 reblog 資訊的更新有點慢,有時候等很久還不會跑出來, 我們實驗的結果是 like 那篇文章之後會加快 notes 的更新速度(不到 3 分鐘)。 XD
另外有一個有趣的特點是:所有的 entry 都共享同一份 notes。
像是這兩篇 [1, 2] 底下的 notes 就是同一份。 使用者 like 其中一篇,等於同時 like 所以相關 entry。
我覺得這種隱式 threading 設計還不錯。
Possible Tumblr Implementation of Notes/Likes
Adios: 用 like 的話不是會有 xxxx like this 嗎
WanCW: yeap, how?
Adios: 所以 xxx like thsi 跟 note 資料是在一起的
Adios: 為了跟新 xxxx like this 所以順便建了 note
WanCW: yes
Adios: 竟然在 exploit application logic ~~~
WanCW: 所以 reblog->note可能是批次掃的, like 是立刻的 (就有 flush 的效果) 這樣?
WanCW: hi, hacker
Adios: 沒錯
Adios: 不然我們這樣刪刪加加 system 算 diff 一定會很慢
WanCW: 也對.....
WanCW: 可是 like 的使用機率應該比 reblog 高吧?
WanCW: 還是因為 reblog 比較麻煩? 除了 notes 還要建 linking
Adios: 應該沒錯比較麻煩
WanCW: XD
Adios: reblog -> soft update, like -> sync;sync;sync
WanCW: 太怪了 XD
Adios: 我猜他應該是有一隻專跑整個 folder 的 reblog
WanCW: I guess so, too.
Adios: like 一次只要 update 一個 thread
Adios: 一個 tree
WanCW: 那 reblog?
Adios: Info (post-id)
Adios: like (info || info = new Info(123) ); => 所以立即更新 reblog link
Adios: reblog 變動比較快 所以每 4 hours 跑一次 create-info(all posts)
Adios: 難以表達
Adios: 直接寫一個給你
Adios: 嘴砲
WanCW: go