Hi,

ActiveMQ Artemis does support MQTT and has an event driven architecture,
using resource pooling to share threads and other resources across many
connections.  This does allow you to create many connections on a single
broker, but I think 1 million might be pushing it.  That said, I've not
actually tested the max number of connections possible on a single Artemis
broker.  I imagine you'd either run out of memory or connections would
start timing out way before you hit a million.

Horizontal scaling would allow you to scale brokers to accommodate more
connections, if you've not got a great deal of data flowing through the
broker this might be a viable option.  See the Artemis docs on clusters:
https://activemq.apache.org/artemis/docs/1.3.0/clusters.html.  The
bottleneck here though becomes the broker network as broker instances need
to transfer a lot of data to keep in sync.

Scalable messaging infrastructure, in cases like IoT is tricky.  Myself and
Dejan Bosanac gave a talk at last year's ApacheCon that covered various
scaling mechanisms and talked about next gen scaling using Artemis and QPID
Dispatch router.  The slides might be of interest to you:
http://www.slideshare.net/dejanb/messaging-for-iot

Thanks
Martyn

On Mon, Jul 18, 2016 at 5:55 PM, Tim Bain <tb...@alumni.duke.edu> wrote:

> Are you proposing using ActiveMQ 5.x, or Artemis?  The former doesn't have
> the concept of clustering (horizontal scaling is done by making a network
> of brokers, but it can be very inelastic scaling depending on your use case
> and network topology), and I've never tried it but I'm skeptical that a
> single broker could handle a million concurrent consumers.  I believe
> Artemis has the concept of clustering, but I personally don't know anything
> about that feature.  Kafka is another product that many people use for
> horizontal scalability in a messaging middleware solution.
>
> Tim
>
> On Jul 18, 2016 9:26 AM, "somnus" <775289...@qq.com> wrote:
>
> > I want to use activemq to be an IOT message transport server which using
> > mqtt
> > protocol.
> >
> > Is it possible?
> >
> > there must be many connections (stand-alone one million or more),but per
> > message package is small( simple json command) and no need for
> > persistence(maybe code a plugin to log commands in Hbase)
> >
> > so i configure like this ?
> >
> >
> >
> <transportConnectorname=&quot;mqtt+nio&quot;uri=&quot;mqtt+nio+ssl://m2mserver:1883?maximumConnections=1000000&amp;amp;wireFormat.maxFrameSize=102400&quot;&quot;/>
> >
> > then use master-slave(in zookeeper) & broker-cluster model
> >
> > will work?
> >
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> >
> http://activemq.2283324.n4.nabble.com/To-be-IOT-mqtt-middleware-server-tp4714037.html
> > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >
>

Reply via email to