给出一个使用MSMQ的NServiceBus微服务,当我将该服务的几个实例部署到同一台计算机上时,是否可以扩展应用程序?是否可以提高性能?或一个实例就足够了。我应该拥有一台功能更强大的机器来处理消息吗?
答案 0 :(得分:5)
否,在一台计算机上运行多个实例不会使事情运行得更快,只会降低执行效率。
但是,即使系统监视表明有很多资源需要花费但没有使用,单个实例也可能无法为您提供预期的性能。在这种情况下,您可能想通过配置允许的并行消息执行量来调整NServiceBus端点的配置。
在以下链接上,您将看到如何增加并发性:
您可以通过实际使用多台计算机来进一步扩展,但是如果所有这些端点共享同一中央数据库,则网络或数据库服务器很容易成为瓶颈。如果您考虑跨多台计算机部署或扩展端点,请确保也扩展了任何存储解决方案,以免成为瓶颈。
例如,在部署新版本时,在同一盒子上拥有多个实例的唯一原因是,您可以临时并行运行当前版本和新版本以实现零停机时间部署。