20:25:56 #startmeeting 20:25:56 Meeting started Sat Dec 5 20:25:56 2009 UTC. The chair is daMaestro. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:25:56 Useful Commands: #action #agreed #halp #info #idea #link #topic. 20:26:20 #topic AMQP + qpid 20:26:55 # Event Distribution 20:27:23 1. Management of server farms 20:27:27 2. Hardware events 20:27:34 3. Package management 20:28:20 # Integration 20:28:44 1. Examples: audit, order processing, inventory, accounts 20:28:59 2. Fedora Example: CVS, Bodhi, FAS, Koji 20:29:25 3. Language Integration, OSes: Good candidate to integrate. 20:29:53 # Proprietary Systems Very Expensive 20:29:58 1. Millions of Dollars 20:30:37 2. Proprietary Formats, vendors don't communicate 20:30:50 3. Not standards based 20:31:15 4. Very large deployments, billions of dollars 20:31:40 5. AMQP developed for a standard format on the wire 20:32:02 6. Old method, 'bridge' between different formats 20:32:11 # AMQP 20:32:28 1. Advanced Message Queuing Protocol 20:32:43 2. A standardized binary wire-level protocol 20:32:50 2. Royalty free 20:32:56 3. Royalty free 20:33:12 4. Platform agnostic 20:33:22 5. Wire protocol 20:33:28 6. Semantic model 20:34:00 # Open source implementations 20:34:07 1. Apache Qpid 20:34:15 2. RabbitMQ 20:34:20 3. OpenMQ 20:34:27 4. More, open standard 20:34:33 # Apache Qpid 20:34:36 1. Open source 20:34:46 2. Vibrant community 20:35:04 3. Actively used by many upstream communities 20:35:36 4. Multi-lanuage support: java, c++ 20:36:14 5. Language bindings: Pretty much all main languages, easily written in other languages 20:36:34 Q: Documentation missing 20:37:22 A: Yes, it could be much much better. Resource issues with regards to documentation. Attempts to organize documentation in wiki. 20:39:20 6. New high-level API for python and C++ (and soon ruby) that will have much easier on developers 20:42:36 7. More documentation for new API and consistency between different languages 20:44:09 8. 'Durable' messaging: message journaling, async 20:44:22 9. Security: SSL, kerberos, ACLs 20:46:10 10. Queue Symantics: management of queue, memory space, queue depth, message replay, message history 20:46:48 11. Replication, HA, geo-replication of all messages 20:47:28 12. Available in fedora, except java 20:48:08 # Apache Qpid Management via QMF 20:48:12 1. Build on qpid messaging 20:48:21 2. General purpose messaging bus 20:48:26 3. Agent and console API 20:48:39 4. Can be used to manage anything (ovirt as an example) 20:48:51 5. qpid tools are based on QMF 20:48:55 # Reliability 20:48:59 1. At most once 20:49:01 2. At least once 20:49:07 3. Exactly once 20:50:03 Q: What consumer would use these? 20:53:25 A: Very application dependent, examples are CVS vs Banking and different business requirements. Additionally, for critical applications not using exactly once the implementation is on the application side. 20:53:39 # Reliability Strategies 20:53:43 1. Clustering 20:53:50 2. Persistent Queues 20:53:56 3. Queue Replication 20:54:00 4. Federation 20:54:05 5. Transactions 20:55:22 6. Diagram: What strategy works best for different issues/conditions. 20:56:00 # Performance 20:56:05 1. Depends on setup 20:56:14 2. Best to try on your env and compare results 20:56:29 3. C++ : perftest latency test 20:56:59 4. JMS/Java: qpidbench, testkit, sonic benchmark 20:57:05 3. C++ : perftest, latencytest 20:57:26 #endmeeting