运维
未读
Docker 安装RabbitMQ
这是一篇关于RabbitMQ容器部署和管理的文章,介绍了如何使用Docker拉取并运行RabbitMQ镜像,包括创建挂载目录、配置端口映射、设置默认用户名和密码、启动容器等步骤。文章还涵盖了如何启用RabbitMQ的管理控制台插件和Prometheus插件,查看容器状态及日志,访问管理界面,并指导如何在RabbitMQ中添加新用户、授予权限及角色。
Java
未读
Spring Cloud中消息队列实现异步通信
这是一篇关于消息队列在Spring Cloud中的应用文章,介绍了消息队列的基本概念及其在分布式系统中用于异步通信的作用。文章首先解释了消息队列的功能,如解耦消息发送者与接收者、解决系统间通信延迟等问题,并列举了Spring Cloud对常见消息队列中间件(如Kafka、RabbitMQ、ActiveMQ、RocketMQ)的集成支持。接着,文章介绍了使用消息队列实现异步通信的基本步骤,包括添加依赖、创建消息发送者和接收者、以及实现异步消息的发送与接收。文章还强调了异步通信的优势,如系统解耦、提高性能、保证消息可靠性和削峰填谷,适用于异步任务处理、事件驱动架构和微服务架构等场景。最后,文章总结了通过集成消息队列可以提高系统性能、可靠性和扩展性。
Java
未读
MQ如何保证消息顺序性?
这篇文章主要讨论了消息的有序性及其在RocketMQ中的实现。消息有序性指的是在消费一类消息时,能够按照发送顺序进行消费。文章区分了全局顺序消息和部分顺序消息,并解释了部分顺序消息的实现方式。为了实现顺序消息,生产者需要有序地发送消息,消费者则需要使用有序消费模式。生产者通过消息队列选择器将相同的消息发送到同一队列中,以保证顺序性。消费者则通过MessageListenerOrderly接口,结合分布式锁和本地锁,确保同一时刻只有一个线程消费同一队列的消息,从而实现顺序消费。
Java
未读
MQ如何保证消息不丢失?
这是一篇关于消息队列(MQ)消息丢失及其防止机制的文章,介绍了RabbitMQ、RocketMQ和Kafka在不同场景下的消息丢失原因以及如何通过不同机制防止消息丢失。RabbitMQ主要通过事务机制、确认模式和消息持久化来保障消息不丢失,消费者通过手动确认消息来避免丢失。RocketMQ则通过同步和异步发送方式、刷盘策略、集群模式和消费者ack机制来保证消息的可靠性。Kafka通过设置ack=all、复制因子、min.insync.replicas等参数以及手动提交消费者的offset来确保消息不丢失。
Java
未读
Kafka、ActiveMQ、RabbitMQ、ocketMQ区别
这是一篇比较Kafka、ActiveMQ、RabbitMQ和RocketMQ之间差异的文章。文章分析了四种常见消息中间件在消息传递模型、性能和吞吐量、消息分区和负载均衡、开发和部署复杂度、社区和生态等方面的差异。Kafka主要支持发布-订阅模型,适合高吞吐量场景;RocketMQ、RabbitMQ和ActiveMQ支持点对点和发布-订阅模型,提供更多功能,但配置复杂度较高。功能支持方面,各个中间件在优先级队列、延迟队列、死信队列、重试队列等方面的支持情况不同。文章最后建议根据性能需求、可靠性、消息持久化和开发复杂度等因素来选择合适的消息队列技术。