アーキテクチャオタクが Twitter の内情について妄想を垂れ流す

ところで、Twitter がなくなったら Togetter はどうなるんだろう。たぶんログインすらできなくなるし。 続き: https://togetter.com/li/1977218
260
Yuta Okamoto @okapies

翻訳しないと読めないけど、ここにも Twitter アーキテクチャオタクがいた。 twitter.com/rtnf14/status/…

2022-11-19 20:42:49
rtnF @rtnF14

Reverse engineering twitter dari coretan papan tulis ini kyknya seru... 🤔 twitter.com/elonmusk/statu…

2022-11-19 18:44:32
Yuta Okamoto @okapies

GraphQL を使ってる Twitter API v2 の要素技術を解説した記事があった。これによれば、二年前の時点で Android 版も含めて v2 に統合する方針になっていたように見えるが、実際は…と。 blog.twitter.com/engineering/en… pic.twitter.com/yk9h5nBSna

2022-11-19 20:48:46
拡大
Yuta Okamoto @okapies

ジャーナリストの人たちは、こういうところを取っ掛かりにして深掘っていくと内情が見えてくるんじゃないかな。「イーロン・マスク劇場」に付き合っても、彼の見せたいものしか見えないだろうし。

2022-11-19 20:57:36
Yuta Okamoto @okapies

あー、でもまさにこの話か。 マスク「Android 版って、ホームタイムラインを描画する度にリクエスト 1,000 回投げてるんだよね」 俺ら「んなわけねぇだろアホか。お前のエンジニアがブログに GraphQL 使ってるって書いてあるぞ。よく嫁」 エンジニア「実は GraphQL に移行できていませんでした」 twitter.com/elonmusk/statu…

2022-11-19 21:06:35
Elon Musk @elonmusk

Btw, I’d like to apologize for Twitter being super slow in many countries. App is doing >1000 poorly batched RPCs just to render a home timeline!

2022-11-14 03:00:58
Yuta Okamoto @okapies

どうも、この件に関してはマスクが正しかったってことになりそうだが、まぁ、いずれにせよ情報を精査せずになんか断言するのは安全じゃなさそう。

2022-11-19 21:08:26
Yuta Okamoto @okapies

本当にクライアントが v1 API を 1,000 回叩いているのか、v1 を叩いた時に後ろ側のマイクロサービス群が呼び出される回数が 1,000 回なのかは謎。エンジニアから RPC って表現でインプットされたなら後者な気がするが。

2022-11-19 21:14:18
Yuta Okamoto @okapies

んー、たぶん後者だな。明示的には書かれてないが、おそらく v2 移行はバックエンドのパフォーマンス向上という動機もあって、各デバイス向けアプリを全て移行させる計画になっていたが、Android 版だけが二年以上遅延し続けている、というところか。 pic.twitter.com/e4YzswlgFr

2022-11-19 21:25:34
拡大
Yuta Okamoto @okapies

イーロン・マスクが技術者のインプットをよく分からず受け売りしている、という部分については若干そのケを感じなくもないが、少なくとも新経営者に Twitter の抱える技術的負債についてプレゼンしてる人がいて、その話をよく聞いているということではあるんじゃないかな。それが誰なのかは知らんが。

2022-11-19 21:29:37
Yaroslav @512x512

@okapies I don't think they make hundreds of requests to load a timeline, but I definitely think that it would be faster to use GraphQL for customers with slow Internet.

2022-11-19 21:37:01
Yuta Okamoto @okapies

@512x512 I realized “1,000 RPCs” really means internal requests between micro services inside Twitter API v1. They scheduled to migrate to v2 two years ago but Android app still doesn’t. blog.twitter.com/engineering/en…

2022-11-19 21:41:18
Yuta Okamoto @okapies

@512x512 It seems Elon is advised by right person(s) but he don’t fully understand their concept yet.

2022-11-19 21:43:04
Yaroslav @512x512

@okapies Agree, it's just my wild guess is that their REST endpoints used by Android don't match 1-to-1 to the GraphQL queries requested by iOS. I would think that Android makes more requests to get same amount data. I might be totally wrong though.

2022-11-19 21:50:16
Yuta Okamoto @okapies

もしかすると、こないだ話題になってた「GitHub をマイクロサービス化したのは失敗だった」みたいな話が Twitter でもあったのかもしれないな。そこを解決するためになぜ GraphQL を持ってきたのか、というのはさっきの記事をちゃんと読んでみないとだが。 twitter.com/at_sushi_/stat…

2022-11-19 21:57:37
門脇 敦司 @at_sushi_

1/ GitHub 元CTO「マイクロサービスにしたことがアーキテクチャ上の最大のミスだった」 (※少しマニアックな内容ですが、個人的には面白いと感じたので載せます→) twitter.com/jasoncwarner/s…

2022-11-16 09:20:18
Yuta Okamoto @okapies

とはいえ、それはそれとして、メディアの運営にテクノリバタリアン的な態度で臨むのはどうなんよ、という話も別途ある。 twitter.com/elonmusk/statu…

2022-11-19 22:08:21
Elon Musk @elonmusk

Reinstate former President Trump

2022-11-19 09:47:45
Yuta Okamoto @okapies

メディアとして「なんでもアリ」を目指すのかって話と、テクノロジー企業として存続できるのかって話の二つがあって、後者は何とかなるとしても、社会として前者を許容するんですかって話があって、それだったら Twitter のような巨大拡散装置は有害なのでない方がいい、という意見があると。

2022-11-19 22:25:01
Yuta Okamoto @okapies

イーロン待望論もバッシングも、この辺りの政治的な議論が混線してる感じはするな。正直、あまり混ぜない方がいいとは思っていて、例えば、今回のように「乱暴だったが技術経営として正しい判断だった/間違っていた」となった時に他の判断の正当性も左右されるのか、という。

2022-11-19 22:28:22
Yaroslav @512x512

@okapies If you are interested, I've copied it to miro board: miro.com/app/board/uXjV… You can copy the board or export it as PDF to copy/translate the text. pic.twitter.com/ZSufsMvReU

2022-11-19 23:08:17
拡大
Yuta Okamoto @okapies

清書してもらった、むっちゃありがたい。 twitter.com/512x512/status…

2022-11-19 23:16:16
Yuta Okamoto @okapies

Prediction Service って何なんだろうね。表示するツイートの推薦に関係してるんだろうけど。

2022-11-19 23:24:13
ろん2 @double_RONN

ホーム表示(not 最新ツイート)に表示するツイートを選択する時に、ユーザの興味の変化を反映させる機械学習システムのことで良いのかな?(自信なし) 下記の"New architecture"の方 Streaming logging pipeline of Home timeline prediction system blog.twitter.com/engineering/en… twitter.com/okapies/status…

2022-11-20 00:00:11
Genki Takiuchi @takiuchi

個人的にこの図で一番気がかりなのは、TLS-APIが廃止予定って所なんだよな。v1.1系のサポートが切れるとすると、これまでのような大規模なTwitter連携アプリは動かせなくなる。v2以降は使用回数の制限が厳しいんだよね twitter.com/okapies/status…

2022-11-20 00:02:44
Yuta Okamoto @okapies

あー、確かに Android 版は廃止予定の古い方叩いてるんだな。これが巷で言われてた性能問題の原因ってわけではないだろうが、他のデバイス向けより開発が遅れていたとゲスパーすることも可能か。 twitter.com/512x512/status…

2022-11-19 20:08:10
Yuta Okamoto @okapies

ふむ。理屈は分かるが運用はどうするんだ、ってやつだな。 twitter.com/elonmusk/statu…

2022-11-19 23:38:56
Elon Musk @elonmusk

New Twitter policy is freedom of speech, but not freedom of reach. Negative/hate tweets will be max deboosted & demonetized, so no ads or other revenue to Twitter. You won’t find the tweet unless you specifically seek it out, which is no different from rest of Internet.

2022-11-19 03:31:47
Yuta Okamoto @okapies

2012年のアーキテクチャと比較している人。 twitter.com/alexxubyte/sta…

2022-11-20 03:16:07
Alex Xu @alexxubyte

Twitter Architecture 2022 vs. 2012. What’s changed over the past 10 years? Thank you, @elonmusk for the transparency. {1/2} pic.twitter.com/Fvbn7EDoOS

2022-11-20 01:42:44
Alex Xu @alexxubyte

Co-Founder of ByteByteGo | Author of the bestselling book series: ‘System Design Interview’ | YouTube: https://t.co/9gPSJSrtPU

https://t.co/90RMwmA3Mu