7.1. Performance, Scalability, and Reliability7.1.1. Determining Message Throughput Requirements7.1.2. Testing the Real-World Scenario7.1.2.1. Testing with one client7.1.2.2. Send rate versus receive rate7.1.2.3. Determining hardware requirements7.1.2.4. Finding or building a test bed7.1.2.5. Long duration reliability7.1.2.6. Memory leaks7.2. To Multicast or Not to Multicast7.2.1. TCP/IP7.2.2. UDP7.2.3. IP Multicast7.2.4. Messaging Over IP Multicast7.2.4.1. Duplication, ordering, and reliability of messages7.2.4.2. Centralized and decentralized architectures7.2.4.3. Network routers and firewalls7.2.4.4. Some vendors support both centralized and decentralized architectures7.2.5. The Bottom Line7.3. Security7.3.1. Authentication7.3.2. Authorization7.3.3. Secure Communication7.3.4. Firewalls and HTTP Tunneling7.4. Connecting to the Outside World7.5. Bridging to Other Messaging Systems