Fork me on GitHub
#clojure-japan
<
2016-02-17
>
blackenedgold08:02:20

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

solicode09:02:52

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

solicode09:02:10

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

blackenedgold10:02:37

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

blackenedgold11:02:00

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

solicode13:02:28

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

solicode13:02:50

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

solicode13:02:18

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

blackenedgold13:02:54

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

koji_yusa14:02:53

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