> On Oct 6, 2017, at 12:53 PM, Siwek, Jon <jsi...@illinois.edu> wrote:
> 
> I want to check if there’s any feedback on the approach I’m planning to take 
> when porting over Bro’s scripts to use Broker.  There’s two major areas to 
> consider: (1) how users specify network topology e.g. either for traditional 
> cluster configuration or manually connecting Bro instances and (2) replacing 
> &synchronized with Broker’s distributed data storage features.
> 

...

> Then subscriptions and auto-publications still get automatically set up by 
> the cluster framework in bro_init().
> 
> Other Manual/Custom Topologies
> ------------------------------
> 
> I don’t see anything to do here as the Broker API already has enough to set 
> up peerings and subscriptions in arbitrary ways.  The old “communication” 
> framework scripts can just go away as most of its functions have direct 
> corollaries in the new “broker” framework.
> 
> The one thing that is missing is the “Communication::nodes” table which acts 
> as both a state-tracking structure and an API that users may use to have the 
> comm. framework automatically set up connections between the nodes in the 
> table.  I find this redundant — there’s two APIs to accomplish the same 
> thing, with the table being an additional layer of indirection to the actual 
> connect/listen functions a user can just as easily use themselves.  I also 
> think it’s not useful for state-tracking as a user operating at the level of 
> this use-case is can easily track nodes themselves or has some other notion 
> of the state structures they need to track that is more intuitive for the 
> particular problem they're solving.  Unless there’s arguments or I find it’s 
> actually needed, I don’t plan to port this to Broker.
> 

I had some feedback related to this sort of thing earlier in the year:

http://mailman.icsi.berkeley.edu/pipermail/bro-dev/2017-February/012386.html
http://mailman.icsi.berkeley.edu/pipermail/bro-dev/2017-March/012411.html

I got send_event_hashed to work via a bit of a hack 
(https://github.com/JustinAzoff/broker_distributed_events/blob/master/distributed_broker.bro),
but it needs support from inside broker or at least the bro/broker integration 
to work properly in the case of node failure.

My ultimate vision is a cluster with 2+ physical datanode/manager/logger boxes 
where one box can fail and the cluster will continue to function perfectly.
The only thing this requires is a send_event_hashed function that does 
consistent ring hashing and is aware of node failure.

For things that don't need necessarily need consistent partitioning - like 
maybe logs if you were using Kafka, a way to designate that a topic should be 
distributed round-robin between subscribers would be useful too.



— 
Justin Azoff

_______________________________________________
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev

Reply via email to