2020年1月15日 星期三

[think] 關於 unique id 設計的問題


環繞在心中大概有長達十年的問題,每次開始研究都廢寢忘食的。
關於 unique id 設計的問題。

心路歷程大致上就是,從 64 bit integer id generation ,
然後, 怎麼 encode 再來就是 obfuscate id 最後是 Knuth's prime Algorithm 。

架構面上,從  twitter snowflake ,  flickr ticket server , Sharding & IDs at Instagram, Sharding Pinterest ,...到 vitess sharding

因為是個連鎖問題,所以,每次都是階段性的找到某些作法。

12月聽了老師的發表會,他說面對問題就自己去好好思考問題的本質。因為,前一陣子再準備一些pattern matching的問題。
複習了一些 80年代末期  90年代初期的演算法,感到非常的精妙。

如果說的更精確點,你要有面對問題,並可以經由自己從本質上去思考得到解答,那要做到的是對問題本質相關的領域有很深入的了解。

記2010年起那些子夜未眠的夜晚


Ticket Servers: Distributed Unique Primary Keys on the Cheap | code.flickr.com https://code.flickr.net/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/
Sharding Pinterest: How we scaled our MySQL fleet - Pinterest Engineering Blog - Medium https://medium.com/pinterest-engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f
Sharding & IDs at Instagram - Instagram Engineering https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c

沒有留言:

張貼留言