我计划在我的web应用程序中集成消息传递中间件。现在,我正在测试不同的消息传递中间件软件,如RabbitMQ、JMS、HornetQ等。该软件提供的示例正在运行,但没有给出预期的结果。
那么,我想知道的是,哪些因素是提高绩效的责任,一个人应该注意?
为了提高中间件消息传递软件的性能,开发人员应该注意哪些方面?
发布于 2011-09-15 23:01:10
我是HornetQ的项目负责人,但我会试着给你一个通用的答案,可以应用于你选择的任何消息系统。
我看到的一个常见问题是,人们问为什么单一的生产者/消费者不能给你带来预期的性能。
当您发送消息并立即要求确认时,您需要等待:
发送回调来确认消息已收到
同样,当您收到一条消息时,您向服务器确认:
persisted
服务器发回一个回调,告知已实现回调
如果您需要确认所有的消息-发送和消息-确认,您需要等待这些步骤,因为您有一个硬件涉及持久存储磁盘和在网络上发送比特。
消息系统将尝试与许多生产者和消费者一起扩大规模。也就是说,如果有许多人在生产,那么他们都应该使用服务器上为所有消费者共享的可用资源。
有几种方法可以加快单个生产者或单个消费者的速度:
另外:我认识的大多数提供商都会在他们的文档中有一个性能部分,其中包含对特定产品的要求和建议。您应该分别查看每种产品
https://stackoverflow.com/questions/7426651
复制相似问题