This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-11-03
Channels
- # admin-announcements (7)
- # beginners (30)
- # boot (181)
- # cbus (1)
- # cider (55)
- # cljs-dev (8)
- # clojure (104)
- # clojure-dev (3)
- # clojure-japan (1)
- # clojure-russia (70)
- # clojurescript (139)
- # core-logic (4)
- # cursive (23)
- # datomic (25)
- # devcards (10)
- # events (11)
- # funcool (1)
- # hoplon (39)
- # jobs (10)
- # ldnclj (19)
- # lein-figwheel (21)
- # off-topic (4)
- # om (174)
- # onyx (46)
- # re-frame (25)
- # reagent (3)
- # yada (7)
Hello @michaeldrogalis! So now I am starting to deploy onyx to multiple servers, and I am a little uncertain of how to proceed with aeron. Do I need aeron on a separate server? And if so, how do I get multiple onyx instances to communicate with that aeron?
Each node needs their own Aeron driver running
Okay, cool. So it is just used for onyx internally then? Not to communicate between instances?
For performance, it's recommended that this is done out of process while in production but it'll be fine to run it via the peer group to get up and running initially
It's kind of a "driver" for a networking protocol. Onyx talks to it, and it talks to the other Aeron drivers on the other machines
There's a sample media driver main entry point in the template https://github.com/onyx-platform/onyx-template/blob/master/resources/leiningen/new/onyx_app/aeron_media_driver.clj
Make sure you run it with -server JVM opts
Sure. It's also fine to run it from the same project but use lein run -m
http://shammijayasinghe.blogspot.sg/2012/02/zookeeper-increase-maximum-number-of.html?m=1
Off to sleep. Good luck
Okay, so next trick! I submitted a job on one node, and the tasks are only being handled on that node. How do I get the nodes to share tasks?
@spangler: Are they all connected with the same :onyx/id
?
:onyx/id
is used to denote tenancy. Moreover, it's what prevents one Onyx deployment from exclusively hogging ZooKeeper all to itself.
So can I hardcode an :onyx/id
, or do I need a different shared one each time I deploy?
Reuse it if you want jobs from the last time you deployed to stick around.
@spangler: Kafka is for I/O, Aeron is for internal message delivery. Aeron is the only medium that we offer for that.
@spangler: Erm, they're both plugins, if that's what you mean.
I think reading this would be beneficial for your understanding: https://github.com/onyx-platform/onyx/blob/master/doc/user-guide/architecture-low-level-design.md
Correct, right.
Anyhow, yeah - I do recommend checking that out though. I think it would clear up a few misconceptions about how things work and pave the path forward for you.