You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by naveen <na...@gmail.com> on 2019/03/24 13:03:37 UTC

Artemis MQ STOMP VS AMQP Protocol

Dear Team,

Could you please guide us which is the most commonly used protocol among
STOMP and AMQP and their business use cases of using these protocols.

we are planning to implement STOMP or AMQP for financial payloads. 
please guide us which is the most commonly used and suitable protocol.


Thanks
Naveen




--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Re: Artemis MQ STOMP VS AMQP Protocol

Posted by naveen <na...@gmail.com>.
Dear Justin,

Thanks for the reply

AMQP is binary and when an external client sends the data over TCP/IP to
Artemis broker it transmits the data as binary - This is what I am saying it
as interception.

Similarly I am asking about STOMP, since STOMP is a text protocol when an
external client sends the data over TCP/IP to Artemis broker, is it
transmits the data over the network as text or it converts to binary?

My point about Durable is when a consumer is not available to pick up the
messages, and when we define as durable queue, messages will be persisted in
queue and it will be processed as soon as consumer is available.

My choice of going is AMQP because of message encryption since it is a
binary transmission over the network
It has ISO/OASIS certified.



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Re: Artemis MQ STOMP VS AMQP Protocol

Posted by Justin Bertram <jb...@apache.org>.
You say the messages should be "persistent and durable." Is there a
difference between "persistent" and "durable" or are those just two
different words which mean the same thing in this instance? It's worth
noting that the STOMP protocol itself [1] makes no guarantee about
"persistency." Whether or not such functionality is available is up to the
broker you choose. The AMQP 1.0 specification [2] outlines a boolean
"header" named "durable." As the specification states:

> Durable messages MUST NOT be lost even if an intermediary is unexpectedly
terminated and restarted.

I'm not sure what you mean when you ask which protocol is "more reliable."
Both protocols go over TCP/IP so in that sense the are equally reliable.
Other levels of reliability are provided by the client and broker you use
as well as things like broker and hardware configuration. However, none of
these things has anything necessarily to do with the protocol choice.
Please clarify if you have further questions on this point.

I'm also not sure what you mean by "interception" and "intercept" in
regards to the protocols. What specifically are you referring to here?

As stated previously, STOMP is the "Simple *Text Oriented* Messaging
Protocol." However, it also supports transmitting binary data as the
specification [1] makes clear:

> STOMP is text based but also allows for the transmission of binary
messages.

As I said before, I can't really make a recommendation because I don't have
all the details of your use-case (e.g. performance requirements, operating
environment, client application design, developer constraints, etc.). To be
clear, this email list is really for users of ActiveMQ who have specific
problems/questions/issues with ActiveMQ itself. It's not a general
messaging consulting service. I recommend you work with your stake-holders
to gather requirements and perform the necessary research to understand the
different potential technologies.


Justin

[1] https://stomp.github.io/stomp-specification-1.2.html
[2]
http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-messaging-v1.0.html#type-header

On Tue, Mar 26, 2019 at 2:54 AM naveen <na...@gmail.com> wrote:

> Dear  Justin,
>
> Thanks for the detailed mail.
>
> To explain the use-case our system is a financial system just like Paypal
> where we should not loose any messages and it should be persistent and
> Durable.
>
> Also I see AMQP is widely used for machine critical systems and enterprise
> level where as STOMP is used for very light weight clients.
>
> We are in big confusion which one to use and which one is more reliable and
> our system/application is PCI DSS certified and security is utmost concern
> for business machines.
>
> we see AMQP is binary protocol and interception happens through binary and
> accepts any kind of format of messages(text, xml etc)
>
> Could you please let us know about STOMP protocol - is STOMP is text
> protocol and intercepts the data through text itself??
>
> Keeping all this mind... Could you please guide which protocol to use
> AMQP/STOMP
>
> Thanks in Advance for all the answers
>
> - Naveen
>
>
>
> --
> Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
>

Re: Artemis MQ STOMP VS AMQP Protocol

Posted by naveen <na...@gmail.com>.
Dear  Justin,

Thanks for the detailed mail. 

To explain the use-case our system is a financial system just like Paypal
where we should not loose any messages and it should be persistent and
Durable. 

Also I see AMQP is widely used for machine critical systems and enterprise
level where as STOMP is used for very light weight clients.

We are in big confusion which one to use and which one is more reliable and
our system/application is PCI DSS certified and security is utmost concern
for business machines. 

we see AMQP is binary protocol and interception happens through binary and
accepts any kind of format of messages(text, xml etc)

Could you please let us know about STOMP protocol - is STOMP is text
protocol and intercepts the data through text itself??

Keeping all this mind... Could you please guide which protocol to use
AMQP/STOMP

Thanks in Advance for all the answers

- Naveen 



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Re: Artemis MQ STOMP VS AMQP Protocol

Posted by Justin Bertram <jb...@apache.org>.
There is a wealth of information about both of these protocols available
via your favorite search engine so I will just comment briefly here.

STOMP is the "Simple Text Oriented Messaging Protocol." As the name
suggests, it's simple and text based so it will lack some advanced features
and also sacrifice some speed for ease of use. STOMP is typically used by
very lightweight clients (e.g. Javascript running in a web browser) to send
small messages. It has good support across platforms and languages.

AMQP is the "Advanced Message Queuing Protocol." As the name suggests, it
has some advanced features and it's binary so will generally be higher
performance. AMQP's development originated in the financial services
industry which would seem to lend toward your use of it for financial
payloads. It also has good support across platforms and languages. It is an
ISO and OASIS standard (which STOMP is not).

I can't say which is more commonly used as I'm aware of lots of users who
leverage either one. That said, I'm not sure if commonality is really all
that important unless you're trying to integrate with external services
which use a particular protocol at which point the choice would likely
already be made for you. Which protocol is more "suitable" for your
use-case can really only be determined by whoever has all the details about
the use-case. The only detail you've provided so far is that you will use
the protocol for "financial payloads," but that's really very little detail
with which to make any kind of recommendation.


Justin

On Sun, Mar 24, 2019 at 8:03 AM naveen <na...@gmail.com> wrote:

> Dear Team,
>
> Could you please guide us which is the most commonly used protocol among
> STOMP and AMQP and their business use cases of using these protocols.
>
> we are planning to implement STOMP or AMQP for financial payloads.
> please guide us which is the most commonly used and suitable protocol.
>
>
> Thanks
> Naveen
>
>
>
>
> --
> Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
>