We did some analysis regarding the MQTT protocol as well.Following are our findings regarding the MQTT.
MQTT is low bandwidth consumption messaging protocol which supports pub/sub protocol with the following limitations. - It has fixed header (2 bytes) . Specifications mentioning that it can be extended.But AFAIU clients[1] didn't support for this header extension. We have checked the MQTT with the messages published with headers and we didn't receive the header on those.Only receive the message body. - The payload size for a MQTT message is 256MB.I guess design point for MQTT usage is targeted at more constrained devices.[3]. MQTT is better at a high volume of low size messages. - It is supports only topic.This will not be a issue currently in our scenario as we used only topic currently AFAIK.[4] I guess it build with above limitations and it is very good choice for the mobile and small application as it is very lightweight and low power.[5] WDYT? Please share your thoughts on this. [1] https://pypi.python.org/pypi/paho-mqtt [2[ https://github.com/iwanbk/nyamuk [3] http://stephendnicholas.com/archives/1217 [4] http://www.mqtechconference.com/sessions_v2013/MQTC_v2013_MQTT.pdf [5] http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html Thanks, Gayan On Mon, Sep 1, 2014 at 4:32 PM, Gayan Gunarathne <gay...@wso2.com> wrote: > Thanks Paul. > > We will check on this paho-mgtt python library as well. > > Thanks, > Gayan > > > > > On Mon, Sep 1, 2014 at 4:17 PM, Paul Fremantle <p...@wso2.com> wrote: > >> Python has excellent pure python MQTT support. >> >> > pip install paho-mqtt >> >> https://pypi.python.org/pypi/paho-mqtt >> >> Paul >> >> >> On 1 September 2014 11:40, Gayan Gunarathne <gay...@wso2.com> wrote: >> >>> Hi Paul, >>> >>> Here we try to connect the our existing Apache ActiveMQ with the pure >>> python.(We try to replace our java cartridge agent with the python as >>> after that we can remove the java dependency from the cartridge itself). >>> >>> In the initial research we didn't notice such a pure python libraries >>> with the MQTT which can connect with the ActiveMQ. Also with the initial >>> reading I guess they are recommend it for the mobile applications as its >>> low bandwidth consumption.Also I am noticed lot of web socket based >>> applications are developed through MQTT. >>> >>> Thanks, >>> Gayan >>> >>> >>> On Mon, Sep 1, 2014 at 3:42 PM, Paul Fremantle <p...@wso2.com> wrote: >>> >>>> Have you looked at mqtt? >>>> >>>> Paul >>>> On 1 Sep 2014 12:10, "Gayan Gunarathne" <gay...@wso2.com> wrote: >>>> >>>>> >>>>> Hi All, >>>>> >>>>> As per our initial research on the python based messaging >>>>> implementation of python cartridge agent and discussion[1] we can >>>>> summarize >>>>> our findings as following. >>>>> >>>>> *1.AMQP* >>>>> >>>>> Apache ActiveMQ used the AMQP 1.0 protocol. We found C based client >>>>> library (proton) [2] which can be used with python. >>>>> But it is a platform dependent library and every time we need to >>>>> install the libraries based on the architecture and OS version.IMO this >>>>> will be difficult us to manage as we need to install the libraries based >>>>> on >>>>> the platform. >>>>> >>>>> Other python libraries(txAMQP ,pika etc) supports AMQP 0.9 which >>>>> fails to connect with the ActiveMQ. >>>>> >>>>> >>>>> *2.STOMP* >>>>> >>>>> We can connect to the ActiveMQ with the STOMP protocol by using the >>>>> STOMP python client library[3].IMO we can used STOMP with ActiveMQ without >>>>> worry about the platform based library installation.By considering our >>>>> scope of the cartridge agent I think it is better to have a platform >>>>> independence cartridge as far as we can. Then, IMO STOMP based messaging >>>>> queue implementation will be more manageable when we increase our number >>>>> of platform supported. >>>>> WDYT? >>>>> >>>>> When comparing the performance of theses two protocols it looks like >>>>> there are no such huge difference[4].I guess the performance also tightly >>>>> coupled with the message broker you are using as well.OTOH Apache ActiveMQ >>>>> recommended way also to used the STOMP with the python[5]. >>>>> >>>>> >>>>> Please share your thoughts on this. >>>>> >>>>> [1] Stratos Python Cartridge Agent >>>>> [2] https://github.com/apache/qpid-proton >>>>> [3] https://github.com/jasonrbriggs/stomp.py >>>>> [4] >>>>> http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html >>>>> [5] http://activemq.apache.org/python.html >>>>> >>>>> >>>>> Thanks, >>>>> Gayan >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> >>>>> Gayan Gunarathne >>>>> Technical Lead >>>>> WSO2 Inc. (http://wso2.com) >>>>> email : gay...@wso2.com | mobile : +94 766819985 >>>>> >>>>> >>>> >>> >>> >>> -- >>> Best Regards, >>> >>> Gayan Gunarathne >>> Technical Lead >>> WSO2 Inc. (http://wso2.com) >>> email : gay...@wso2.com | mobile : +94 766819985 >>> >>> >> >> >> >> -- >> Paul Fremantle >> CTO and Co-Founder, WSO2 >> OASIS WS-RX TC Co-chair, Apache Member >> >> UK: +44 207 096 0336 >> >> blog: http://pzf.fremantle.org >> twitter.com/pzfreo >> p...@wso2.com >> >> wso2.com Lean Enterprise Middleware >> >> Disclaimer: This communication may contain privileged or other >> confidential information and is intended exclusively for the addressee/s. >> If you are not the intended recipient/s, or believe that you may have >> received this communication in error, please reply to the sender indicating >> that fact and delete the copy you received and in addition, you should not >> print, copy, retransmit, disseminate, or otherwise use the information >> contained in this communication. Internet communications cannot be >> guaranteed to be timely, secure, error or virus-free. The sender does not >> accept liability for any errors or omissions. >> > > > > -- > Best Regards, > > Gayan Gunarathne > Technical Lead > WSO2 Inc. (http://wso2.com) > email : gay...@wso2.com | mobile : +94 766819985 > > -- Best Regards, Gayan Gunarathne Technical Lead WSO2 Inc. (http://wso2.com) email : gay...@wso2.com | mobile : +94 766819985