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

Reply via email to