RocketMQ
Java超神之路
这个作者很懒,什么都没留下…
展开
-
rocketmq和kafka-消息的顺序消费对比
分区:rocketmq:messagequeuekafka:partitionrocketmq怎么保证消息有序1.整个topic有序(全局有序),那就一个分区缺点:性能较差,等于单线程处理2.分区(messagequeue)有序Sharding Key 是顺序消息中用来区分不同分区的关键字段,和普通消息的 Key 是完全不同的概念生产者实现MessageQueueSelector接口消费者实现MessageListenerOrderly接口在默认的情况下:消息发送会采取R原创 2022-02-18 15:24:14 · 474 阅读 · 0 评论 -
RocketMQ如何最大限度的保证消息不丢失的呢?
分布式系统中一个重要的前提假设是所有的网络传输都是不可靠的,在网络传输不可靠的情况下,保证消息的可靠传输,除了进行重试投递别无他法。常用的绝大多数消息队列RocketMQ、RabbitMQ等在消息传输上都只能保证至少传输成功一次,也即(At least once),而不能保证只传输成功一次(Exactly once)。由于分布式系统网络的不可靠,可能就会出现消息丢失的现象,那么RocketMQ是如何最大限度的保证消息不丢失的呢?1高可用2高可靠3.那就需要从消息的产生到最终消费的整个过程来分析.原创 2022-02-18 11:32:13 · 917 阅读 · 0 评论 -
Semaphore-流控信号量
Semaphore用作流控信号量在rocketmq中有很好的例子Semaphore可以用来控制同一时刻访问共享资源的线程数量SemaphoreReleaseOnlyOnce#release通过cas保证只释放一次public void release() { if (this.semaphore != null) { if (this.released.compareAndSet(false, true)) { this.s原创 2022-02-17 17:23:12 · 166 阅读 · 0 评论 -
rocketMQ生产者重试机制
三种消息的类型介绍如下:普通消息:消息是无序的,任意发送发送哪一个队列都可以。普通有序消息:同一类消息(例如某个用户的消息)总是发送到同一个队列,在异常情况下,也可以发送到 其他队列。严格有序消息:消息必须被发送到同一个队列,即使在异常情况下,也不允许发送到其他队列。对于这三种类型的消息,RocketMQ分别提供了对应的方法来发送消息,例如同步发送(异步/批 量/oneway也是类似)://普通消息:不需要指定MessageQueue或者MessageQueueSelector参数 Send原创 2022-02-17 16:38:54 · 1883 阅读 · 0 评论 -
rockertmq-producer消息发送四大步骤
1.producer消息发送四大步骤验证消息查找路由选择队列发送消息1. 验证消息2. 查找路由3.选择队列2.producer消息发送的高可用架构隔离机制重试机制超时机制负载均衡原创 2022-02-17 12:24:04 · 187 阅读 · 0 评论 -
rocketmq启动Error: Could not create the Java Virtual Machine.
Java HotSpot™ 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated可能是JDK版本问题jdk1.8可以如果想用高版本比如jdk11windows下改bin\runserver.cmdlinux下改bin\runserver.sh改前:set "JAVA_OPT=%JAVA_OPT% -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection原创 2022-02-10 22:07:05 · 2776 阅读 · 4 评论 -
新版本RocketMQ配置Web管理界面:解决找不到rocketmq-console目录问题
https://blog.csdn.net/qq_43631716/article/details/119747200解决找不到rocketmq-console目录问题原创 2022-02-10 15:54:15 · 335 阅读 · 0 评论