您现于de位置乃:亚博 > APP学习

亚博 2019-12-29 APP学习 85

Redis与Rabbitmq消息队列de区别

将redis发布订阅模式用做消息队列和rabbitmqde区别:

可靠性   

redis :没有相应de机制保证消息de可靠消费 如果发布者发布1条消息 而没有对应de订阅者de话 这条消息将丢失 不会存于内存中;
rabbitmq:具有消息消费确认机制 如果发布1条消息 还没有消费者消费该队列 那么这条消息将1直存放于队列中 直到有消费者消费了该条消息 以此可以保证消息de可靠消费;

实时性

redis:实时性高 redis作为高效de缓存服务器 所有数据都存于于服务器中 所以它具有更高de实时性

消费者负载均衡

rabbitmq队列可以被多个消费者同时监控消费 但乃每1条消息只能被消费1次 由于rabbitmqde消费确认机制 因此它能够根据消费者de消费能力而调整它de负载;
redis发布订阅模式 1个队列可以被多个消费者同时订阅 当有消息到达时 会将该消息依次发送给每个订阅者;

 持久性

redis:redisde持久化乃针对于整个redis缓存de内容 它有RDB和AOF两种持久化方式(redis持久化方式 后续更新) 可以将整个redis实例持久化到磁盘 以此来做数据备份 防止异常情况下导致数据丢失.
rabbitmq:队列 消息都可以选择性持久化 持久化粒度更小 更灵活;

 队列监控

rabbitmq实现了后台监控平台 可以于该平台上看到所有创建de队列de详细情况 良好de后台管理平台可以方面我们更好de使用;
redis没有所谓de监控平台.

 

总结

redis:轻量级 低延迟 高并发 低可靠性;
rabbitmq:重量级 高可靠 异步 不保证实时;

rabbitmq乃1个专门deAMQP协议队列 他de优势就于于提供可靠de队列服务 并且可做到异步 而redis主要乃用于缓存de redisde发布订阅模块 可用于实现及时性 且可靠性低de功能.


评论