スラドに聞け: Twitter、作れる? あなたならどう作る? 97
ストーリー by hylom
大トラフィックをいかに捌くか 部門より
大トラフィックをいかに捌くか 部門より
m_nukazawa 曰く、
twitterは世界中で数億のユーザに使われている。トラフィックを捌くサーバシステムの構築が困難で難しい仕事であることは明らかだろう。反面で、サービス自体は簡素なマイクロブログであり、見た目にはいかにも簡単に作れそうに思えてしまう。実際、twitterライクなマイクロブログには、OSSを含めてクローンが乱立しているようだ。
よく訓練されたスラドの諸兄は、(twitter社が日々優秀な人材と大量の資金を投入してtwitterを作っていることを知っているのもあって)普段ならば間違っても『twitterを作るのは簡単』などと言わないと思うが、ここではあえてそれをぐっと飲み込んだところで、使用言語や設計手法、UXや会社運営、日頃twitterに対して思うところなど、「俺がツイッターを作るならこうする」について、ざっくりと語っていただければ幸いである。
作るだけならまだいい (スコア:4, すばらしい洞察)
何事も維持していくのが1番大変だよ
サーバーの維持が大変 (スコア:2)
ブロックチェーンとか(藁
マネタイズ (スコア:1)
とりあえず、Facebookを見ならって、広告ブロックソフトにブロックされない広告をもっとガンガン入れるとかかな…。
Re:マネタイズ (スコア:2, おもしろおかしい)
facebookを真似たいのはいいとして、ズは何?
Re: (スコア:0)
ネタだよね?
マネタイズ(monetize)=収益化する
# もうくだらないジョークはやめようず
Re:マネタイズ (スコア:1)
monetize の単語を初めて見たとき、画像をクロード・モネ風に変換するPhotoshop用プラグインだと思ったものだ。
#その「t」は何だよと思って調べたら、ラテン語由来なんだね。
Re: (スコア:0)
商用アカウントサービス始めて、分析ツールの高度化やTweetsのスケジュール化などに対応させるかな。
同様のサービスやってるサードパーティはAPIから締め出す。
サードパーティのクライアントアプリに広告ツイートって入ってるのかな?使ってないから知らないけど。
PROMOとかいうツイートをブロックすればおしまい、とかになるのか。まぁそういうの見つけたらAPIアクセス禁止にすればいいんだろうが。
最近エロ広告多すぎ。
作らない (スコア:0)
あんなくだらないもの作るくらいなら
スラドでも見てる方がまだまし。
Re: (スコア:0)
スラド作って下さい。
Re:作らない (スコア:1)
そういやスラド新システムが開発中なんだっけ。
Re:作らない (スコア:2)
そうなの?知らなかった。
じゃ、懐古主義かもしれないけど、background-colorは#004d4d [beautycolorcode.com]を多用した感じでお願いしたいな。
Re:作らない (スコア:3, おもしろおかしい)
hylomの日記
https://srad.jp/~hylom/journal/608701 [srad.jp]
現在OSDNではスラドのシステムの刷新に向けて開発を進めています。
現在の開発状況としては(…中略…)年内には新システムを稼働させられる状況にしたいとは思っておりますので、しばしお待ちください。
だそうです。
Re:作らない (スコア:1)
このカラーリングは懐古主義でいうとあやしいわーるどを思い出す……。
#あれは004040だっけ
Re: (スコア:0)
あんなくだらないもの作るくらいなら
スラドでも見てる方がまだまし。
無職は気楽でいいね。
一般人はどう作る?って聞かれたら作る話をする。
Re:作らない (スコア:1)
できないことで時間を浪費するのは奴隷のやることだと思うけど?
Re: (スコア:0)
会議でも、デキない理由しか上げない人っていますね。
Re:作らない (スコア:1)
事前に懸念事項を挙げとかないと、「なんで出来ないの?」と言い出すからですよ…
「やろう!」「作ろう!」と声は上げるけど、「どうやって?」「課題は?」を考えない、自称:前向きな人が多すぎます
# そしてトラブってから責任逃れをしだすまでがテンプレ
Re:作らない (スコア:1)
実現不可能なアイデアばかり出す企画屋がいたりすると特にね。
Re: (スコア:0)
事前に検討すべき課題を挙げるのですが、理解できる人がいません;-(
Re: (スコア:0)
Re: (スコア:0)
理解できるところまで掘り下げるのも手かもしれませんよ。
Re: (スコア:0)
いますね。検討すべき課題を挙げているのに、やりたくない理由としてしか受け取れない人。
Re: (スコア:0)
あー、無職になりたいもんだね。
仕事だったら作れって言われたら作んなきゃいけないんだから
雑談サイトでくらい好きなこと言わせてくれや。
Re:作らない (スコア:3)
現在のTwitterの利用のされ方がくだらないかどうかと、全世界であれだけのリクエストをさばいているシステムについて「自分が作るとしたらどうするだろう」と雑談ネタにするのがくだらないかどうかは独立でしょ。
個人的な経験だと、ユニークな採番をする snowflake の割り切った仕様で Twitter のIDが振られていることを知ったときは、けっこう感動したけどなあ。
Re: (スコア:0)
スコア-1 フレームのもと
サーバーを置かない (スコア:0)
P2Pで構築したい。
Re:サーバーを置かない (スコア:1)
それはいい考えだ
週末に作ってみるよ
Re: (スコア:0)
えっ?!
終末に?
#眼鏡
Re:サーバーを置かない (スコア:2)
やはり日本人は世界が終わる時も逃げずにツイッタしてるのか。
// たぶん本当は日本人に限らない。
Re:サーバーを置かない (スコア:1)
そりゃもう大喜びで滅びの呪文を
Re:サーバーを置かない (スコア:1)
既にある
Freenet
Ricochet.im
Tox
Re: (スコア:0)
P2Pでどう作るか是非お聞きしたいです!
# フォロー、アンフォローの関係を利用したメッシュネットワークですかね. 検索はどうしよう..Winnyの実装を参考にできる?
Re:サーバーを置かない (スコア:1)
NNTP・・・ううん、なんでもない。
Re: (スコア:0)
あの世から、twitter機能検証版のWinny3をリリースして貰う。
まじめに考えてみる (スコア:0)
私なら、
インフラ => Kubernetes on GCP で Dockerコンテナをオートスケール
サーバ言語 => Node
DB => Mongoをシャーディング
を選びます。みなさんは?
ふまじめに考えてみる (スコア:0)
インフラ ⇒ 専用の通信網を世界中に張り巡らせるところから始める
Re:まじめに考えてみる (スコア:1)
元コメには選んだ理由があるんだろうけど、それを何一つ書かないからけっきょく読み手としてはそういう印象になるよね
今ならAWSがあるから (スコア:0)
今ならAWSがあるから・・
AWSなしで作る場合はと限定した方が面白そうかも?
作れるような作れないような (スコア:0)
CGIやアプリを作れと言われれば作れるけど、あのアクセス数を捌けるだけのものは作れないな
Re: (スコア:0)
今時CGIとか、ここ10年ぐらいの技術に全く付いてこれてないのでは?
Re: (スコア:0)
CGIってただのインターフェイスだよね?
今ではウェブサーバーがCGIでPHPとか他の言語使えたりするけど。
昔の"CGI=Perl"なイメージが強いせいか。
Re:作れるような作れないような (スコア:2)
その頃FacebookはPHPを再実装した。(言いたかっただけ)
Re:作れるような作れないような (スコア:1)
> 今ではウェブサーバーがCGIでPHPとか他の言語使えたりするけど。
PHPは基本的にCGIではないですよ。PHPの言語仕様レベルにウェブサーバへの組み込み機能が含まれており、CGIというインターフェースは使ってません。
(PHPをCGIモードで動かすこともできますけど、今時は滅多に使わないですね。昔はPHP3とPHP4の共存のために、片方はCGIモードで動かすなんてこともやったりしましたけど…)
でもまあ、「ウェブサーバとのインターフェース仕様」としては、CGIがほぼ唯一の存在であることを考えると、
・ウェブサーバとは別に、コンテンツ生成プログラムを動かす方式(≒CGI+PHP)
・コンテンツ生成プログラム自身がサーバとなる方式(Java Servlet、node.js、Ruby on Rails などなど)
という二方式を対比させる感じですかね。
Twitterのような負荷対策が重要なサービスだと、核となる部分は、独自サーバ方式が有力でしょうね。自分なら node.js を選ぶかなぁ。
DBは性能的にKVSにしたいとこですが、フォローした人のツイートの取得とかを考えると、素直にSQLなRDBの方がいいかも。
Re: (スコア:0)
俺はCGI=MVCだな。色々間違ってるのは分かるが・・・
Re: (スコア:0)
昔がっつりはまってたCGIのチャットを思い出します。
私ならLAMPで地道に…というところですが技術に付いてこれてないのかなぁ?
最近もそうかは分かりませんがミクシィもMySQLで運用していると記事で読んだこともありますし、大規模運用でも使えるのかも。
自分ならどうする?と言われれば、アウトラインが分かっている堅実そうな方法になってしまいます。
難しいのは負荷分散のほうでネットワークとサーバーの負荷分散の基本構造が出来れば、あとは回線の太さとサーバーの台数を調整するルーチンワークになるイメージです。
ロードバランサーやデータベースのクラスタリングを駆使すれば足りるのか。。。ちょっとそこは分からないなぁ
和の趣を (スコア:0)
ひらがなのみ、5・7・5の17字に固定させます。
Re: (スコア:0)
ひらがなで じゅうななもじに するのはいい
そのままじゃ じあまりとかが かけないじゃん
ふぃふぇとか きゃきゅきょなどの あつかいは?
やっぱりさ もじすうじゃなく 音じゃなきゃ
Re:和の趣を (スコア:1)
ひらがなで じうななもじに するはよい
そのままは じあまりたりず かけないよ
こがきもじ ようおんなどの あつかいは
はいくなら もじすうちがう おとのかず
揃えてみた。
短歌なら、
ひらがなで じうななもじに するはいい じあまりたらず あさつてむかう
こがきもじ ようおんなどの あつかいは もじすうちがう おとをかぞえて
Youtubeなら作れる (スコア:0)
Youtubeならっていうと驚くかもしれないけど、Googleはgooglevideo.comっていうcdnをサービスで出しているから、バックボーンを全部googlevideo.comに任せたら、「わが社の運営するビデオ投稿サイト」って結構簡単だと思う。
問題は、googlevideo.comはトラフィックとレスポンスが優秀すぎて、他のcdn専門業者をぶっちぎっていること。アマチュアでやってるうちはユーザーへのサービスの一環って値段なんだろうけど、メジャーになって正式に契約を結ぶようになればお高くなって、費用対効果がペイしなくなると思う。今のネットビジネスは薄利多売とか大口契約とかが、結果的に逆ザヤになる(ように感じるほどダンピングが蔓延してる)。
Re:ツイッターって (スコア:2)
ツイートIDって各アカウント毎じゃなくて全ツイートで連番振っているから
ホームの表示の時ってアカウント毎に最新って感覚じゃなくてその表示リクエストが
あった時の一番大きいのからさかのぼっていく感じで取れるようになってると思うよ。
# それにしたって簡単に処理できる量じゃないからごりごり最適化してるとは思うけど。