问题一:主动控速是通过什么参数来实现的?
主动控速是通过什么参数来实现的?
参考回答:
主动控速是通过控制pullInterval和pullBatchSize两个参数来实现的。pullInterval用于控制生成PullRequest的时间间隔,pullBatchSize用于控制生成新一批请求的数量。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/640761
问题二:被动控速是如何工作的?
被动控速是如何工作的?
参考回答:
被动控速是在消费线程池的待消费队列的消息达到一定阈值后自动触发的。当待消费队列逐渐占满时,MetaQ会降低PullRequest的生成速率,从而实现被动控速。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/640762
问题三:MetaQ中普通消息有哪些发送方式?
MetaQ中普通消息有哪些发送方式?
参考回答:
MetaQ中普通消息可以选择同步、异步或单向发送。同步发送是指Producer发出一条消息后,会在收到MQ返回的ACK之后再发送下一条消息。异步发送是指Producer发出消息后无需等待MQ返回ACK,直接发送下一条消息。单向发送是指Producer仅负责发送消息,不等待,MQ也不返回ACK。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/640763
问题四:MetaQ中的顺序消息是如何定义的?
MetaQ中的顺序消息是如何定义的?
参考回答:
MetaQ中的顺序消息分为两种:全局顺序和分区顺序。
全局顺序是指对于指定的一个Topic,所有消息按照严格的先入先出的顺序进行发布和消费。
分区顺序是指对于一个指定的Topic,所有消息根据sharding key进行分区,同一个分区内的消息按照严格的FIFO顺序进行发布和消费,分区之间彼此独立。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/640764
问题五:MetaQ如何支持消息事务?
MetaQ如何支持消息事务?
参考回答:
MetaQ通过以下步骤支持消息事务:
发送方向MQ服务端发送消息;
MQ Server将消息持久化成功后,向发送方ACK确认消息已经发送成功,此时消息为半消息;
发送方执行本地事务逻辑;
根据本地事务执行结果向MQ Server提交二次确认(Commit或Rollback);
MQ Server根据二次确认状态对半消息进行操作;
在特殊情况下,MQ Server会对未确认的消息发起回查,发送方根据回查结果再次提交二次确认。
关于本问题的更多回答可点击原文查看: