引用元:https://viper.2ch.sc/test/read.cgi/news4vip/1756604730/
建ったら書く



サーバーってのはお店だ
なんらかのサービスを提供するお店
じゃあこのお店に人がいっぱい来た時はどうするか
お店のスタッフがお前しかいなかったとする
お前は無能だから1人にサービスを提供するのに1分かかる
客が1分以上の間隔を空けてくる場合は無能なお前でもこの店は回る

このとき簡単に思いつくのはまず優秀な人を雇う
無能なお前よりは要領がいいので、1人に30秒でサービスを提供できるし、サービス中の待ち時間に別の客にサービス提供したりして並行度を上げる
例えば料理店だったら加熱時間中に別の客の料理作るとかだな
無能なお前はそういうことできないけど、優秀なやつなら要領良くそういうことをやる

簡単に言えば高性能なサーバーにするってことだな
料理店だとしたらお前の代わりに優秀なシェフにやってもらう感じ
でも世界一優秀なシェフを雇ったとしても100人来たら流石に遅延する

田代砲と同じだ

スケールさせれば単純なリクエスト増は捌き切れる

システムの世界ではスケールアウトと呼ぶ
優秀なシェフを1人だけ雇うよりも、無能なお前が100人いたほうが店は回ることになる
料理店というサービスを提供する場合は、優秀なシェフ1人いるより無能なお前が100人いるほうがサービスを快適に提供できる訳だ


優秀なシェフを1万人雇えばどんだけお客さんが来ても対応できそうだ
一般的なサービスであれば、このスケールアップとスケールアウトで対応できる
超高負荷なYouTubeやNetflixが特に待ち時間もなく快適に閲覧できるのは、サーバー(料理人)が必要十分に優秀で、数がめちゃくちゃ多いから


YouTube規模のサーバーを用意すれば軽くなるのか
答えはNoです




チケットを予約販売する店舗な
スケールアップ・スケールアウト両方して、超優秀な窓口スタッフを1億人用意したらチケット予約が軽くできるかを実験する

裏側にチケットの在庫を管理している奴がいるのでそいつに電話で聞くとしよう
在庫があれば売るし、なければ売り切れましたと伝える感じだな
窓口が1億人いてもチケット在庫管理してるやつが1人だとこいつがどんだけ優秀でもパンクする
じゃあチケットの在庫管理してるやつもスケールアップ・スケールアウトすればいいのか
チケット在庫管理をしているやつが複数人いる場合は、チケットが売れたときに他の同じことをやっている奴に共有して最新のチケット在庫状況の同期を行う必要がある
在庫管理スタッフが100人いたら100人に伝えないといけない訳だな
これの難しさは分かるよね


こういう矛盾なく在庫管理を徹底しようとすると途端に難しくなる
スタッフ単体が優秀で数がめちゃくちゃいたとしてもこの問題は解決しない


そこからどうサイトが落ちる話に持っていきたいのか知らんが