redis有简单的pub、sub功能,rabbitmq不用说,是老牌的队列应用,下面简单测试一下两者的性能:
测试100万条数据发送速度,rabbitmq没有持久化、ack,单队列,redis3主3从集群,780字节数据。
rabbitmq发送与接收速度基本持平:
rabbit发送:6614/s rabbit接收:6617/s
rabbit发送:6478/s rabbit接收:6478/s
rabbit发送:6568/s rabbit接收:6570/s
rabbit发送:6614/s rabbit接收:6614/s
rabbit发送:6551/s rabbit接收:6551/s
rabbit发送:6557/s rabbit接收:6553/s
rabbit发送:6450/s rabbit接收:6456/s
rabbit发送:6540/s rabbit接收:6536/s
rabbit发送:6556/s rabbit接收:6561/s
rabbit发送:6483/s rabbit接收:6482/s
rabbit发送:6462/s rabbit接收:6458/s
rabbit发送:6581/s rabbit接收:6583/s
rabbit发送:6515/s rabbit接收:6515/s
rabbit发送:6547/s rabbit接收:6545/s
rabbit发送:6587/s rabbit接收:6592/s
rabbit发送:6443/s rabbit接收:6442/s
rabbit发送:6529/s rabbit接收:6530/s
rabbit发送:6418/s rabbit接收:6420/s
rabbit发送:6543/s rabbit接收:6538/s
rabbit发送:6551/s rabbit接收:6555/s
rabbit发送:6493/s rabbit接收:6506/s
redis,居然这么差:
redis接收:228/s redis发送:237/s
redis接收:243/s redis发送:246/s
redis接收:241/s redis发送:244/s
redis接收:259/s redis发送:260/s
redis接收:251/s redis发送:256/s
redis接收:245/s redis发送:245/s
redis接收:249/s redis发送:252/s
redis接收:252/s redis发送:255/s
redis接收:251/s redis发送:252/s
redis接收:255/s redis发送:256/s
redis接收:246/s redis发送:250/s
redis接收:248/s redis发送:248/s
redis接收:247/s redis发送:251/s
redis接收:252/s redis发送:250/s
redis接收:248/s redis发送:249/s
redis接收:251/s redis发送:251/s
redis接收:244/s redis发送:252/s
redis接收:257/s redis发送:256/s
redis接收:260/s redis发送:261/s
但是据网上测评,redis发送速度高于rabbitmq,没想到测试之后是这样,所以还是要自己试一下
ps:之前对rabbitmq理解一直有问题,rabbitmq的fanout、direct、topic是对在当前exchange下队列来说的,比如fanout广播是指广播到当前所有队列中,但是同一个队列只会给一个消费者消费,一个队列的一条消息不会给多个消费者消费,所以要想实现广播效果,需要每个消费者单独订阅不同队列,然后用fanout