We describe two families of asynchronous atomic broadcast protocols that provide good delivery and stability times, use a small number of messages to accomplish a broadcast, distribute the load of ordering messages evenly among group members, use efficient flow-control techniques, and provide gracefully degraded performance in the presence of communication failures. The pinwheel protocols are designed for applications characterized by a uniform message arrival pattern. The on-demand protocol is designed for non-uniform, bursty message arrivals. The protocols tolerate omission/performance communication failures and crash/performance process failures. Simulation studies for the pinwheel protocols demonstrate that they have superior performance over other well known atomic broadcast protocols, for uniform message arrival rates. We also report measurements taken on prototype implementations, that show very good results and a substantial performance advantage of the on-demand protocol for non-uniform and intermediate message arrival patterns.