I am trying to understand the fundamental differences between AMQP 1.0 / Proton messaging, and what we've done before -- and to express it in language that non-engineers can clearly understand and get excited about. Messaging for poets.
You who already Get It -- please read this and tell me where I hit, where I miss, and what you would add. ==================================================== First-generation, broker-centric messaging solutions centralize all messaging functionality in the broker. As customers demand new functionality, the broker becomes a monolithic Swiss Army knife. Its various functions interact and interfere with each other. Maintenance effort tends to increase as the square of the feature set. Tradeoffs that users want to manage, such as that between throughput and latency, or between performance and reliability, become difficult to manage. Proton and the AMQP 1.0 protocol make possible a second-generation, peer-to-peer messaging paradigm. The messaging system becomes a network of nodes, each adding a single well-defined function to the whole. There are nodes, or patterns of node usage, to add low latency, high throughput, high availability, persistence, management, routing, and security to the system. The exponential increase in complexity of a single monolithic node is avoided, development and maintenance are eased, and various classes of users can easily tailor messaging solutions to their particular needs without fratricidal interference. Scalability of the messaging system becomes straightforward, allowing a single messaging technology to address markets from small-scale local networks to continent-spanning systems of thousands of communicating nodes. Broker-like functionality can still be implemented, and more easily, but is not forced upon all potential users. The entry-barrier is lowered. New users can perform small- scale experiments, then easily scale up to enterprise-class solutions. ==================================================== QUESTIONS 1. Is that stuff all true? 2. Is there more? 3. *Why* does AMQP 1.0 support the peer-to-peer paradigm better than other protocols? 4. Do other protocols support it, but not as well? Or is this paradigm impossible with other protocols?