TDMQ-pulsar消息的顺序性Pulsar中消息的顺序性和几个因素有关:用户自己的业务线程数、Producer 的路由模式(SinglePartition、RoundRobinPariion等、Topie是否分区、发送方式(同步、异步),是否开启批量发送、消息是否有Key。
每个Producer实例都有一个属于自已的发送队列,不管是同步发送还是异步发送,所有的消息都会先进入这个队列。同步发送是基于异步发送实现的----异步发送会返回一个CompletablePuture对象,同步发送只是在此基础上同步等特而已(通过CompletableFuture,get()实现)。因此,同步发送的消息也会先进入发送队列,不过每次入队后都会触发发送操作。