Apache Qpid Open Source AMQP Messaging Apache Qpid: Open Source AMQP Messaging
Total Page:16
File Type:pdf, Size:1020Kb
Apache Qpid Open Source AMQP Messaging Apache Qpid: Open Source AMQP Messaging Copyright © 2010 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Table of Contents I. Basics ............................................................................................................................ 1 1. Apache Qpid: Open Source AMQP Messaging ............................................................. 3 AMQP Messaging Brokers ................................................................................... 3 AMQP Client APIs: C++, Java, JMS, Ruby, Python, and C# ...................................... 3 Operating Systems and Platforms: ......................................................................... 3 2. AMQP (Advanced Message Queueing Protocol ............................................................ 5 Download the AMQP Specifications ...................................................................... 5 3. Getting Started ....................................................................................................... 7 4. Download Apache Qpid ........................................................................................... 9 Production Releases ............................................................................................ 9 0.5 Release ........................................................................................................ 9 Multiple Component Packages ...................................................................... 9 Single Component Package .......................................................................... 9 QpidComponents.org ......................................................................................... 10 Contributed C++ Packages ................................................................................. 11 Pre-built Linux Packages ............................................................................ 11 Windows Installer ..................................................................................... 11 Source Code Repository ..................................................................................... 11 II. AMQP Messaging Broker (Implemented in C++) ............................................................... 12 5. Running the AMQP Messaging Broker .................................................................... 13 Running a Qpid C++ Broker ............................................................................ 13 Building the C++ Broker and Client Libraries .............................................. 13 Running the C++ Broker .......................................................................... 13 Most common questions getting qpidd running ............................................. 13 Authentication ........................................................................................ 14 Slightly more complex configuration .......................................................... 15 Loading extra modules ............................................................................ 16 Cheat Sheet for configuring Queue Options ......................................................... 17 Configuring Queue Options ...................................................................... 17 Cheat Sheet for configuring Exchange Options ..................................................... 19 Configuring Exchange Options .................................................................. 19 Using Broker Federation .................................................................................. 21 Introduction ........................................................................................... 21 What Is Broker Federation? ...................................................................... 21 The qpid-route Utility .............................................................................. 21 Example Scenarios .................................................................................. 27 Advanced Topics .................................................................................... 29 SSL .............................................................................................................. 29 SSL How to .......................................................................................... 29 LVQ ............................................................................................................ 31 Understanding LVQ ................................................................................ 31 LVQ semantics: ..................................................................................... 31 LVQ_NO_BROWSE semantics: ................................................................ 32 Example source ...................................................................................... 33 queue state replication ..................................................................................... 36 Asynchronous Replication of Queue State ................................................... 36 Starting a cluster ............................................................................................ 40 Running a Qpidd cluster .......................................................................... 40 ACL ............................................................................................................. 42 v2 ACL file format for brokers ................................................................. 42 Design Documentation ............................................................................. 45 iii Apache Qpid v2 ACL User Guide ................................................................................ 46 6. Managing the AMQP Messaging Broker .................................................................. 48 Managing the C++ Broker ................................................................................ 48 Using qpid-config ................................................................................... 48 Using qpid-route ..................................................................................... 50 Using qpid-tool ...................................................................................... 51 Using qpid-printevents ............................................................................. 55 QMan - Qpid Management bridge ..................................................................... 55 QMan : Qpid Management Bridge ............................................................. 55 Qpid Management Framework .......................................................................... 56 What Is QMF ........................................................................................ 56 Getting Started with QMF ........................................................................ 57 QMF Concepts ....................................................................................... 57 The QMF Protocol .................................................................................. 61 How to Write a QMF Console .................................................................. 61 How to Write a QMF Agent ..................................................................... 61 Management Design notes ................................................................................ 61 Status of This Document .......................................................................... 61 Introduction ........................................................................................... 62 Links .................................................................................................... 62 Management Requirements ....................................................................... 62 Definition of Terms ................................................................................ 63 Operational Scenarios: Basic vs. Extended ................................................... 63 Architectural Framework .......................................................................... 63 The Management Exchange ...................................................................... 64 The Protocol .......................................................................................... 65 QMF Python Console Tutorial .......................................................................... 79 Prerequisite - Install Qpid Messaging ......................................................... 79 Synchronous Console Operations ............................................................... 79 Asynchronous Console Operations ............................................................. 84 Discovering what Kinds of Objects are Available .......................................... 88 III. AMQP Messaging Broker (Implemented in Java) .............................................................. 89 7. General User Guides .............................................................................................. 90 Java Broker Feature Guide ..............................................................................