components used for inter-process communication (IPC), or for inter-thread communication within the same process. They use a queue for messaging – the passing of control or of content." - Wikipedia Message queue is a software components that allow producers to produce message to a queue managed by a message broker, these message are asynchronously consumed by consumers.
-> Frontend sync (db to NOSQL/Memcache) Communication between multiple internal systems (without API) Asynchronous 3rd party API calls Notifications like email and sms Handling large request asynchronously Processing intensive tasks- like image resize
from web server and database are surely not enough Logs are first class citizen, adopt active logging from application level.(Monolog) Use dedicated log management system like GrayLog 2 Monitor application activity in real-time with services like NewRelic Log optimally and verbose enough to give enough information about the context.
APIs Language agnostic implementation is enable by using message queues Message queues could be that answer you were looking for, to communicate between different systems For scalability, decoupling and reliability utilize message queues You could potentially scale to 1 million message per second : Pivotal Logging and monitoring are inevitable when doing asynchronous processing