比如:
我每一条消息都创建一个topic:/aa/bb/cc/request/{msg_id}
发出消息的时候,再动态订阅:/aa/bb/cc/response/{msg_id}
这样代价大吗?
首先 MQTT 的 topic 是不需要创建的,举例来说,直接往 “t/1” 发送消息,已经订阅了 “t/1” 的客户端就会收到消息。
当消息已经发送到 Broker 了,再去订阅主题就已经晚了,消息会因为没有订阅者而丢弃。
是我描述的有问题。如果我每条消息都这样,先订阅在发布。 但是 topic 根据每条消息 id 来动态生成的,用完就丢掉,这样对 mqtt 服务器会带来额外的开销吗。
是一个 client 先订阅,然后向自己订阅的主题发送消息吗?就是要自己给自己发消息吗?订阅主题会导致比较大的内存开销,订阅过程需要到所有节点上更新订阅信息,所以也比较慢。而发布消息相对轻量。