Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Message queue
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Remit and ownership== Message queues implement an [[Asynchronous method invocation|asynchronous communication pattern]] <!-- NEED TO SYNCH THIS WITH THE SECTION BELOW. ON IT. -->between two or more processes/threads whereby the sending and receiving party do not need to interact with the message queue at the same time. Messages placed onto the queue are stored until the recipient retrieves them. Message queues have implicit or explicit limits on the size of data that may be transmitted in a single message and the number of messages that may remain outstanding on the queue.<ref>Dive Into Queue Module In Python. [http://linux.die.net/man/7/mq_overview Overview of POSIX message queues] </ref> ===Remit=== Many implementations of message queues function internally within an [[operating system]] or within an [[application software|application]]. Such queues exist for the purposes of that [[system]] only.<ref>Win32 system message queues. {{Cite web|url=http://msdn.microsoft.com/en-us/library/ms644927(VS.85).aspx|title=About Messages and Message Queues|work=Windows User Interface|publisher=Microsoft Developer Network|access-date=April 21, 2010|archive-url=https://web.archive.org/web/20120317065349/http://msdn.microsoft.com/en-us/library/ms644927(VS.85).aspx|archive-date=March 17, 2012|url-status=dead}}</ref><ref>Linux and POSIX message queues. [http://linux.die.net/man/7/mq_overview Overview of POSIX message queues] {{Webarchive|url=https://web.archive.org/web/20120504002336/http://linux.die.net/man/7/mq_overview |date=2012-05-04 }} at linux.die.net</ref><ref>Using Linux Message Queues. [http://www.civilized.com/files/msgfuncs.txt Linux message queue functions] {{Webarchive|url=https://web.archive.org/web/20120408091327/http://www.civilized.com/files/msgfuncs.txt |date=2012-04-08 }} at www.civilized.com</ref> Other implementations allow the passing of messages between different computer systems, potentially connecting multiple applications and multiple operating systems.<ref>For example, the MSMQ product. {{Cite web|url=http://msdn.microsoft.com/en-us/library/ms711472.aspx|title=Message Queuing (MSMQ)|work=Network Communication|publisher=Microsoft Developer Network|access-date=May 9, 2009}}</ref> These message queuing systems typically provide [[Resilience (network)|resilience]] functionality to ensure that messages do not get "lost" in the event of a system failure. Examples of commercial implementations of this kind of message queuing [[software]] (also known as [[message-oriented middleware]]) include [[IBM MQ]] (formerly MQ Series) and Oracle Advanced Queuing (AQ). There is a [[Java (programming language)|Java]] standard called [[Java Message Service]], which has several [[Proprietary software|proprietary]] and [[free software]] implementations. [[Real-time operating system]]s (RTOSes) such as [[VxWorks]] and [[QNX]] encourage the use of message queuing as the primary inter-process or inter-thread communication mechanism. This can result in integration between message passing and CPU scheduling. Early examples of commercial RTOSes that encouraged a message-queue basis to inter-thread communication also include [[Versatile Real-Time Executive|VRTX]] and [[pSOS (real-time operating system)|pSOS]]+, both of which date to the early 1980s. The [[Erlang (programming language)|Erlang programming language]] uses ''processes'' to provide concurrency; these processes communicate asynchronously using message queuing. ===Ownership=== The message queue software can be either proprietary, open source or a mix of both. It is then run either on premise in private servers or on external cloud servers ([[message queuing service]]). * Proprietary options have the longest history, and include products from the inception of message queuing, such as [[IBM MQ]], and those tied to specific operating systems, such as [[Microsoft Message Queuing|Microsoft Message Queuing (MSMQ)]]. Cloud service providers also provide their proprietary solutions such as [[Amazon Simple Queue Service]] (SQS), StormMQ, [[Solace Corporation|Solace]], and [[IBM MQ]]. * Open source choices of messaging [[middleware]] systems includes [[Apache ActiveMQ]], [[Apache Kafka]], [[Apache Qpid]], [[Apache RocketMQ]], [[Enduro/X]], [[JBoss Messaging]], [[JORAM]], [[RabbitMQ]], [[Open Message Queue|Sun Open Message Queue]], and [[Tarantool]]. Examples on hardware-based [[message oriented middleware|messaging middleware]] vendors are [[Solace Corporation|Solace]], [[Apigee]], and [[IBM MQ]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)