hello, First read this from 2012 https://www.devco.net/archives/2012/06/19/mcollective-direct-addressing-mode.php
if you're just doing 'mco rpc rpcutil ping -W country=uk' for example and with default configuration : 1* it does a broadcast discovery 2* if it discovered less than a threshold nodes, it does direct 3* else if more then threshold it does broadcast. In broadcast mode - no guarantee that only discovered nodes get the request or that discovered nodes get the request. Where 'direct' means, send a message to the node via the queue. It knows which nodes based on a previous broadcast discovery. If you use --nodes, or -I without regular expressions, you're telling it the nodes and other filters shouldn't really matter In my case this is a impossible ask: % mco rpc rpcutil ping -I dev1.devco.net -W country=uk .... Finished processing 1 / 1 hosts in 141.07 ms Because dev1 is not in the UK - but -I and --nodes and other plugins are telling mcollective you've already resolved the discovery stuff and you know what nodes you want to communicate with so it does so only on the identities ignoring other filters. Actually the decision is up to the discovery plugin, and the plugin that drives --nodes and -I just ignores other filters since you're telling it all it needs to know or care about. At any significant scale and whenever you want to have a reliable known quantity of nodes (see my blog post), you need to not use broadcast discovery at all. Broadcast discovery and the broadcast communication mode is like UDP in networking. Just like with UDP you can build reliability but you have to bring that with your own consolidation/auditing, if you're not intending to build that you need to look towards direct mode to achieve reliability. If you want a known quantity of replies and audit those replies and know they worked and you need to know what nodes should be there, you need to use some discovery plugin (like your nodes.txt files). Direct is mcollectives TCP vs the UDP of broadcast. Direct mode puts more pressure on your middleware, past a point you either need to build smaller subcollectives, use smaller node selections or if you make a giant one use batches. So understanding that there are 2 means of communicating with the same agents you need to consider your needs carefully and when to choose reliability - and the extra overhead - over unreliability thats more performant. On Fri, Mar 10, 2017, at 03:30, [email protected] wrote: > Hi, > > I just want to understand about direct addressing mode vs broadcast mode. > I > believe when we use direct addressing mode whatever mco query we are > running it will not do broadcast instead it will reach the particular > server. But how this works with based on facts filter. Correct if am > wrong. > > > Regards > Ravi > > -- > > --- > You received this message because you are subscribed to the Google Groups > "mcollective-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- R.I.Pienaar / www.devco.net / @ripienaar -- --- You received this message because you are subscribed to the Google Groups "mcollective-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
