clojure-japan 2016-02-17

carmineクライアントマネジメントを、よくわからないwcarマクロに統一してるのなんなんですかね。すごい使いづらい。

@blackenedgold: 確かにわかりづらいです。 wcar はおそらく with-carmine という意味だと思います。Clojureでよく見かける with-* のパターンです( with-outwith-db-transaction などみたいな)。 wcar は connection pooling と redis pipelining を全部このマクロで処理しています。

僕はマクロより普通の defn の方がいいんですけどね。

withマクロっぽいのはいいんですがクライアントとかコネクションプールとかを触らせてくれないのが気持ち悪いですね…

検証してみたらcarmine、1000qpsには耐えられそうになかったので見送りですね。

そうですか。僕はたしかシングルスレッドでも 3000〜5000 msg/s くらいまでいけました。でも、あれは単なるログサーバでした。環境の違いもあるでしょうし。

RabbitMQ や Kafka などなら、余裕でもっといけるはずです。設定するのに時間がかかりますけど。

HornetQ もいいかもしれませんが、使ったことがないのでよくわかりません。

もしかしたらworkerを作るときにlazy-seqが作られてた可能性があってconsume出来てなかった可能性があるのですがもうzeromqにしてしまいました。

バックエンド側のベンチマークだと、こんな感じですね。 http://bravenewgeek.com/dissecting-message-queues/

👍 1