clojure-japan

2016-02-17T08:14:20.000013Z

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

2016-02-17T09:47:52.000014Z

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

2016-02-17T09:48:10.000015Z

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

2016-02-17T10:14:37.000022Z

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

2016-02-17T11:00:00.000023Z

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

2016-02-17T13:17:28.000026Z

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

2016-02-17T13:17:50.000027Z

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

2016-02-17T13:18:18.000028Z

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

2016-02-17T13:24:54.000029Z

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

koji_yusa 2016-02-17T14:32:53.000030Z

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

👍 1