Re: [Architecture] [MB] MQTT : support around 100K mqtt connections using WSO2 MB

2018-02-04 Thread Youcef HILEM
Hi Hasitha,

WSO2 MB is AMQP compliant.
Why not use Apache Qpid Dispatch Router
(https://qpid.apache.org/components/dispatch-router/index.html) to handle
all connection management like Enmasse (http://enmasse.io/) ?

Thanks 
Youcef HILEM



--
Sent from: 
http://wso2-oxygen-tank.10903.n7.nabble.com/WSO2-Architecture-f62919.html
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [MB] MQTT : support around 100K mqtt connections using WSO2 MB

2018-02-04 Thread Youcef HILEM
Hi,

For information our solution:
- will rely on the standard MQTT over Websocket
(http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/csprd02/mqtt-v3.1.1-csprd02.html#_Toc385349863)
- will use WSO2 APIM Websocket APIs
(https://wso2.com/library/articles/2017/05/introducing-websocket-apis-with-wso2-api-manager/).
Sample with kafka
(https://medium.com/@lahirugmg/managed-websocket-api-for-kafka-with-wso2-api-manager-3e17f6e9a121)

I keep an eye on the support of MQTT over WebSocket in WSO2 MB 4
(https://wso2.org/jira/browse/MB-1688).

Tanks
Youcef HILEM



--
Sent from: 
http://wso2-oxygen-tank.10903.n7.nabble.com/WSO2-Architecture-f62919.html
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [MB] MQTT : support around 100K mqtt connections using WSO2 MB

2018-02-03 Thread Youcef HILEM
Hi Hasitha,

Thank you for this clear response.

Apparently it seems difficult with WSO2 MB or any multi-protocol broker
(https://stackoverflow.com/questions/27884895/what-are-the-maximum-mqtt-connections-supported-by-activemq-5-10-0).

In this case it remains only pure MQTT middleware (among
(https://github.com/mqtt/mqtt.github.io/wiki/servers).

Mosquitto performance (~20,000 connections per instance) is great but It has
bridge feature but not a "real" clustering
(https://groups.google.com/d/msg/mqtt/sFjCBovLavw/9jKFLiEaBwAJ). 

The 1.0 release of the EMQ broker has scaled to 1.3 million concurrent MQTT
connections on a 12 Core, 32G CentOS server
(https://github.com/emqtt/emqttd)

The performance is not the only criterion because it is also necessary to
check the non-loss of messages
(https://vernemq.com/docs/clustering/netsplits.html#possible-scenario-for-message-loss)

Thanks
Youcef HILEM



--
Sent from: 
http://wso2-oxygen-tank.10903.n7.nabble.com/WSO2-Architecture-f62919.html
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [MB] MQTT : support around 100K mqtt connections using WSO2 MB

2018-02-02 Thread Hasitha Hiranya
Hi Youcef,

WSO2 Message broker has a thread pool with threads working to push messages
from DB to subscribers.
Thus if we create x number of connections to a broker those x number of
connections will be distributed across the threads in the pool.
We use LMax Disruptor [1] to batch incoming messages and write them to DB
as batches to gain performance.

There will be a upper bound for number of threads we can register to push
messages out. Also, I think one node can handle around 200-500 connections
(subscribers). We have not done proper stress testing on that side still.

Doing maths and assuming liner scaling, this will need 1M/500 = 2000 nodes
in cluster!  We cannot maintain such large cluster.
Thus suggestion would be to have a small set of clusters pointed to
different DBs.

My figures might be wrong. Maybe a MB node can handle more connections than
that. As a part of evaluation effort this is something needs to be done. If
these individual connections are idle most of the time, yes, then can have
more connections connected to a single node as threads would be idle and
available.

Another figure to consider is message distribution algorithm of MB needs to
make copies of  metadata+content of a single message one per node (if y
number of subscribers are there for that topic on that node, that y number
of subscribers will share that copy). Thus when number of nodes in a
cluster grows, this overhead also grows. This is also something to
consider.

Cannot say the requirement cannot be achieved, but we need to do a proper
evaluation as we have not tested MB on that number of connections.



[1]. https://lmax-exchange.github.io/disruptor/

Thanks

On Fri, Feb 2, 2018 at 6:41 PM, Youcef HILEM 
wrote:

> Hi Imesh,
>
> Thank you very much.
>
> I must present the solutions to the architectural committee of Tuesday,
> 06/02/2018.
> It's good to have some information even this weekend on my work email.
>
>
>
> Thanks
> Youcef HILEM
>
>
>
> --
> Sent from: http://wso2-oxygen-tank.10903.n7.nabble.com/WSO2-
> Architecture-f62919.html
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>



-- 
*Hasitha Abeykoon*
Associate Technical Lead; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* 
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [MB] MQTT : support around 100K mqtt connections using WSO2 MB

2018-02-02 Thread Youcef HILEM
Hi Imesh,

Thank you very much.

I must present the solutions to the architectural committee of Tuesday,
06/02/2018.
It's good to have some information even this weekend on my work email.



Thanks
Youcef HILEM



--
Sent from: 
http://wso2-oxygen-tank.10903.n7.nabble.com/WSO2-Architecture-f62919.html
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] [MB] MQTT : support around 100K mqtt connections using WSO2 MB

2018-01-29 Thread Imesh Gunaratne
[+ Hasitha, Sumedha]

On Sun, Jan 28, 2018 at 9:20 PM, Youcef HILEM 
wrote:

> Hi,
> We have a fleet of over 10 android smartphones.
> We evaluate MQTT bokers that can manage more than 100k connections with a
> large number of topics (notification, referential data, operational data,
> ...).
> Could you give me some tips to properly size a cluster in HA and scale with
> a load of over 100K connections?
>
> Thanks
> Youcef HILEM
>
>
>
> --
> Sent from: http://wso2-oxygen-tank.10903.n7.nabble.com/WSO2-
> Architecture-f62919.html
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>



-- 
*Imesh Gunaratne*
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057
W: https://medium.com/@imesh TW: @imesh
lean. enterprise. middleware
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture