N’s Creates 開発チームの本田です。
少し前ですが、イーロンマスクのTwitter買収、大量解雇が話題になりましたね。
今では一転、後任が見つかり次第、CEOを辞任するなんて言ってますが、本当でしょうか。
それはさておき、イーロンマスクが実行を掲げていた公約の中にはビジネス的な事柄のみでなく、
Twitterのシステム改善もいくつか挙げられていました。(こちら)
そこで、今回はそもそもTwitterがシステム的にどのような構造を採用しているのか、
独断と偏見で深掘りしていきたいと思います。
こちらがその概要図です。
イーロンマスク氏がTwitterにアップしたホワイトボードの写真から作られているため本物だと思います。
わからない単語もたくさん並んでいますが、TwitterもGraphQLを使っているんだと思うと
少しほっこりします。
点線の部分がNext-gen Systemという名称でこれから新しく導入する部分だそうです。
Androidのみで利用しているTLS-APIを廃止してGraphQLに統合していこうという流れがあるらしいです。
下の方を見てみるとManhattan, GizmoduckやTweetyPieなど、
やたら海外アニメの名前やキャラクターの名前が並んでいますが、
Tweety Pieはおそらくイギリス製のCRMを指していそうです。
Gizmoduckに至っては架空のキャラクターの名前としかGoogle先生は教えてくれません。
Manhattanはリアルタイムデータベースの名前だそうです。
それがこちら
右側中央あたりにあるMamcacheはキャッシュサーバのことを指していそうです。これは可能性高い。
Twitterほどの大量データを扱うシステムではとてもじゃないですが
RDBMSだけでは対応できないでしょう。
これだけ見てもわからないことが多いですね、、日々勉強です。
ちなみに2012年のTwitterのシステム構成図はこちらです。
図の毛色が違うといえど、たった10年でだいぶ複雑化したのではないでしょうか。
巨大サービスのアーキテクチャは海外サイトで公開されているので、
意外と身近なものが使われていたり、新しい発見につながるのでオススメです。
Twitterの行方は今後も目が離せませんね。それでは