ランタイム内にRedisサーバーを組み込んでみた:驚きのパフォーマンス向上
We put a Redis server inside our runtime
We put a Redis server inside our runtime
私たちのランタイムの中にRedisサーバーを直接統合するという、大胆な実験を試みました。これにより、外部へのネットワーク呼び出しを排除し、極めて低レイテンシなデータアクセスを実現しています。プロセスの内側にインメモリデータストアを抱え込むことで、システム全体のパフォーマンスが劇的に改善されました。このアーキテクチャの詳細は以下の通りです。
Rustで25,000行
なぜ単に小さなコンテナを動かすという選択をしなかったのか、本当に知りたい。記事で挙げられている理由は「実行と管理の手間が増える」というものだけだけど、Docker composeやTestContainersを使えばそんなの楽勝でしょ。
もし開発者がこの手法を提案してきたら、よほど納得できる説明がない限り反対するね。しかも、これがローカル開発用限定だってわざわざ言及してるんだから、本番環境でRust版Redisを使う必然性があったわけでもない。正気とは思えないよ。
RedisをRustで書き直すっていうのは、ライブラリとして組み込みたいなら純粋に便利そうだよな。
ただ、最新のRedisとバイト単位で完全に互換性を保ち続けるなんて、まるで負債を抱え込むようなものじゃない?いっそフォークしたものをそのまま使い続ければいいのでは?
CloudFlareがNginxに不満を持ってRustで独自のプロキシを書き直した事例を見ると、Redditも既存の移植にこだわるんじゃなくて、いっそゼロから作り直せばよかったんじゃないかと思えてくるな。
Redditは2009年からあるし、長年の技術的負債が山積みでしょ?これを機に刷新するチャンスだったのかもね。そうしてれば、もっと良いプロダクトになっていたかもしれないし!