Hi All,

Currently for AMQP, message were delivered to subscribers through creating
a job and submitting it to the sequential thread pool executor.

MQTT protocol engine we use [1] is architectured to deliver messages to the
subscribers through a Distruptor ring, which is a single threaded operation
and defining a thread pool executor would not make and impact in this case
IMO. Hence a method was added for synchronous delivery. The flow would look
like the following,

(1) Message taken from the store (slot delivery worker) - > (2)
MessageFlusher (the former QueueDeliveryWorker which was renamed) - > (3)
identify the type of subscription

(4) if the subscription is AMQP related ->  we use the Async delivery
method

(5) if the subscription is MQTT related ->  we add the message directly to
distruptor ring through the MQTTBridge synchronously.

WDYT ? do point out if there're any implications to the above model.


[1] https://projects.eclipse.org/proposals/moquette-mqtt

-- 
*Pamod Sylvester *
 *Senior Software Engineer *
Integration Technologies Team, WSO2 Inc.; http://wso2.com
email: pa...@wso2.com cell: +94 77 7779495
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to