Redisの現状
こんにちは、ヨシオリです。 今日はですね、僕の好きなサービスとか、ミドルウェアとかプログラミングの傾向みたいな話をしようかなと思います。
なんでこの話をしようかなと思ったかというと、 昨日ちょっと友達の前坂と話していて、
Redisが結構今ヤバいことになっている。 Redisがどっかで会社に変われて、名前だけ付け替えられて、
よくあるオープンソースあるあるなんですけど、 Redisのコアな開発者たちが分離して、別のもの、同じようなものを作り始めたみたいな話をしていて、
RedisのAPIってみんなすごい使っていると思うので、 AWSのエラスティキャッチとか、あの辺も独自でRedisと同じプロトコル互換ネットを作るみたいな話があってて、
俺全然追っかけていなくて、 Redisがそんなことになったのは確か1年半くらい前だったらしいんですけど、全然気づいていなくて、
そんなことになってんだっていう話をしているときに、 Redisみたいなソフトウェアめちゃめちゃ大好きなんだよねっていう話を前坂として分かる分かるみたいな話をしてたんですけど、
何かっていうと、プログラマーはみんなそうっていう言い方をすると変形になっちゃうのであれなんですけど、
一つのことをうまくやるっていうプログラムを組み合わせて何かをやるのがすごい好きだと思うんですよね。僕はそれが好きなんですよ。
パズルみたいで結構面白くて好きなんですけど、プログラミングを書くときもそうだし、
例えばこの関数とこの関数とこの関数を組み合わせるとこういう処理ができるみたいなやつですね。
っていうのもそうですし、ライブラリーとかもそうですし、このライブラリーとこのライブラリーを使えばうまくいくとかもそうだし、
このミドルウェアを使うとこのミドルウェアを組み合わせるとうまくいくみたいなのがあったりとか、
そういう一つのことをうまくやるものたちを組み合わせて設計をしていくっていうのが結構好きで、
いわゆるこれはユニックスの哲学っていう本に書いてある本なんですけど、ユニックスのコマンドですね、
CDとかLSとかああいうやつがそれぞれが一つのことをうまくやるだけのコマンドなんだけども、
それをパイプとかでつなげることによっていろいろなことができる、柔軟性がすごい増すよねっていうので、
パイプのインとアウトを使ってやるみたいなのがユニックスの哲学ですよみたいなのがあって、
そういうのが至るところに結構プログラマーの仕事とかミドルウェアとかもそうなんですけど、
つながっていると思っていて、
1個のソフトウェアで全部できますというよりは1個のことだけをめちゃめちゃシンプルにすごくよくできるみたいなものが結構好きだったりしますね。
っていうのの一つでレディースは結構好きだったんですけども、
レディースが好きになったのも15年ぐらい前になっていて、
まずウェブがどんどん流行ってきた時ですね、
僕はドワンゴのニコニコ動画っていう、当時は日本のトラフィックの3割ぐらい持っていたサービスをやっていたんで、
結構キャッシュとかが大事で、結構メムキャッシュを使ってたんですよね。
メムキャッシュってただ、
メムキャッシュで再起動するとキャッシュが全部飛んじゃうので、
インメモリでやってたんでめちゃめちゃ早いんだけども、
キャッシュが全部飛んじゃうんで、
1回飛んじゃったあと暖機するときに結局スパイクがかかるみたいな話があり、
確かドワンゴの中でメムキャッシュを全く使わないで、
全部フロントのキャッシュもレディースに乗っけたっていうのは多分その当時の俺のチームが初めてだったんですけども、
レディースでも十分性能出るっていう話でレディースを使い始めたのが、
僕の一番最初のレディースの経験で、
その時に使ってみてすごい感触として良かったんですよね。
もともと出てきたときは、
メムキャッシュと同じプロトコルが使える、
映像化できるみたいなのでレディースって出てきたんですけど、
クラスタリングできるとか色々あったんですけども、
もう使っていくと結構色んなところが使いやすくて、
レディースクラスターはちょっとなんか、
うーんっていう、
やっぱり一つのこと上手くやる以外のことをやろうとすると途端にあれだなっていう気もするんですけど、
あってレディースが結構好きだったなっていうお話から、
レディースはなんか大変なことになってるらしいですっていうお話と、
プログラミングの哲学
UNIXの哲学的な一つのことを上手くやるっていうのが好きだよっていう話でした。
なんかね、
昨日前坂と話して、
そんなレディースがダメになった話で、
それを思いついたのでちょっと話してみました。
はい、
今日はですね、
晩御飯はお家焼肉にします。
じゃ。