talk. • Me – Sr. Web Architect Manager at NOOK Developer – Prior MNPHP Organizer – Open Source Contributor – Where you can find me: • Twitter: mwillbanks G+: Mike Willbanks • IRC (freenode): mwillbanks Blog: http://blog.digitalstruct.com • GitHub: https://github.com/mwillbanks
for interprocess communication, or for inter- thread communication within the same process. They use a queue for messaging – the passing of control or of content.”
data (in the form of messages) between systems. Messages are exchanged between programs or applications, similar to the way people communicate by email but with guarantees on delivery, speed, security and the absence of spam.”
that is sent to the exchange is sent to all queues bound to that exchange. l Direct Exchange l Routing keys involved. A queue binds to the exchange to request messages that match a routing key exactly. l Topic Exchange l Routing keys involved. A queue binds to the exchange to request messages that match a routing key pattern. Understanding Exchanges
the messages? l Just about all items have a level of persistence if you would like them to survive on reboot. l Mark exchanges, queues and messages as DURABLE. Persistence?
you tell it which queue to go to. l When you subscribe you request a queue. Connect Send Disconnect /queue/ msg P H P S T O M P S E R V E R Connect Subscribe Disconnect /queue/ msg Read Ack
a apache foundation project activemq.apache.org/apollo Next generation ActiveMQ www.rabbitmq.com Very popular and common message queue owned by VMware. www.jboss.org/hornetq Supported by Red Hat Middle Ware division, picking up steam.
turn it into more of a generic message system. l Multiple libraries l JAXL - https://github.com/abhinavsingh/JAXL l Xmpp - https://github.com/alexmace/Xmpp
receives the job and processes l Ability to persist to binlog; default is in-memory Beanstalkd Application Code Beanstalkd Client API (Pheanstalk) Beanstalkd Server Beanstalkd Worker API (Pheanstalk) Worker Application Code
Queue Worker Server Send to 1 Insert multiple message queue servers + multiple worker nodes. Each worker node can connect to as many message queue servers as necessary.