"如果客户端的存储影响消费速度,说明存储是在处理消息的主线程里同步操作的,这会阻塞拉取和处理消息。 建议考虑把处理消息和存储处理结果用独立的且不同的线程,拉取消息只管消费,把消息转给缓存处理后就继续消费消息,这样可以保证消费较快。 需要注意,NFS 有两方面影响性能: NFS 本身速度就不太理想。 NFS 是网络共享存储,虽然有多机器共享访问的能力优势,但是多台机器和进程访问是争抢的,效率会降低。这解释了为什么消费者个数多了,性能反而下降。这一方面,可以考虑采用云盘,给每台消费端处理机挂载自己的云盘,独立存储,这样增加消费端不会因为争抢 NFS 而降低性能。 挂载云盘的存储是各自独立的。如果您需要把最终的处理结果集中到同一个 NFS 上保存,仍然可以通过一个异步的工具或者线程,把云盘上的结果再转发到 NFS 上,而不要让同步存储 NFS 阻塞消息处理。 总之,对于资源访问造成的处理低效,总是可以用异步处理的方式解决。"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。