akkameetup で「Malba」の発表しました!!

このエントリーをはてなブックマークに追加
どうもご無沙汰しておりますbuster84です。今回akkameetupに参加させていただいて、発表しました。運営のドワンゴさんどうもありがとうございました。そのときの資料が以下です。
Job queue in b2b with Akka from Yasuki Okumura

toggetterまとめ

せっかくなので、いくつかtwitter経由でも質問もいただいていたので、それに答えていきたいと思います。


  1. pullでpollingって、akka使っていいことあったのかな?
    • Queueを操作しないといけないので、そこの部分でLockせずにデータ操作が行えて、きれいに書けるのはakka使ってよかったと思います。後、Playを業務で使っているのでworkerをakkaのActorで書くのが当たり前だったので自然とakkaを使いました。Pollingに関しましては、Push通知をWorkerに対して行っているので基本的にはいらないのですが、業務で実際に使っているため安全に安全を重ねてPollingも行っているといった感じです。基本Pushを信頼しているのでPollingの頻度はかなり少なく抑えるようにして負荷があがらないようにはしています。
  2. Scala製のQueueというとTwitterのKestrelがあるけど、MalbaはKestrelに比べてどういう利点欠点があるんだろう?
    • Kestrelは使ったことないのとちゃんと調べたわけではないですが、Malbaの一番の特徴とユニークな点は自由に独自なQueueを作成可能なところだと思っています。軽く調べた限り独自なQueueの作成ができるサービスはなかったと思います(もしあるなら比較したいので連絡いただけると助かります)。スライドであげたBalancingQueueのほかにも、例えばユーザの属性情報を更新するタスクをQueueに入れて、Workerが更新する使い方をしようとした際にQueueにタスクを入れる際に同じユーザのタスクがあった場合に属性情報をマージしてタスクをひとつにするみたいなQueueを作成したりもできるかと思います。
  3. ビルドが通らない
    • ごめんなさい。。早急に直したいと思います。
  4. Dockerfileかdocker imageが上がってると、こういう時便利そうですね。
    • 情報ありがとうございます。docker image作成も検討してみます。
  5. Kafkaとの違い
    • Kafkaにつきましては、LinkedInさんの記事を読むといいかと思いますが、基本理念的にLogを扱うことが正式な使い方かと思っています。Logとはなんなのかといいますと、引用しますと、It is an append-only, totally-ordered sequence of records ordered by time. とありますようにオーダーはtimestampベースかと思います。Malbaは2. で回答したとおりQueueにたまる前提でその処理する順番をどのようにするのかを自由にカスタマイズ可能にしているので住み分けは可能じゃないかなと思っています。実際にShanonでもKafkaを使おうと思ってたりもしています。
他にも質問ありましたら連絡いただけましたら、答えますので連絡ください。OSSにしましたけど、まだ本当にソースコードを公開しただけという状況なので長い目で見ていただけると助かります。また、社内で作っていたものをOSSプロジェクトにする見識をお持ちの方いましたらアドバイスいただけると助かります。よろしくお願いします。


次の記事
« Prev Post
前の記事
Next Post »
Related Posts Plugin for WordPress, Blogger...