参考exhook-svr-python示例搭建测试环境,多线程配置max_workers=10,hook能够正常运行。
修改示例,以模拟hook处理时间较长的情况
若使用1台MQTTX客户端连接emqx,同时连续发送消息:
在OnMessagePublish中,多次连续调用中thread id保持不变,直到所有消息处理完成才收到(串行),比如快速连续发送3条消息,则MQTTX客户端15秒后会同时收到3条消息。
若使用多台MQTTX客户端连接emqx,同时发送消息:
在OnMessagePublish中,每个客户端消息对应的thread id不同,5秒处理时间后多条消息同时收到(并行)。
我想咨询一下:
exhook中grpc的处理线程是否是和连接的客户端绑定的,每个客户端的消息会绑定固定的线程处理,而不是每次从线程池新获取线程处理?
目前需求,数据中台使用1个client连接emqx流量比较大,希望能够通过exhook并行处理消息(单台client连接消息会串行处理),不知该如何实现?