Architecture web服务器与应用程序之间的通信

Architecture web服务器与应用程序之间的通信,architecture,rabbitmq,message-queue,Architecture,Rabbitmq,Message Queue,通常,如果我想将数据从web服务器传递到应用服务器,我会将数据存储在数据库中,然后让应用服务器定期查询数据库以检查新数据。这方面的主要问题是它不是实时的,并且会对数据库造成不必要的负载 我相信有很多更好的方法可以做到这一点,但我不知道它们是什么 我正在考虑使用诸如RabbitMQ之类的消息代理来处理这个问题,但这会不会太过分了,因为我不一定要处理那么多数据?这就是消息代理的用途吗 我不确定我是否有错误的想法,如果有任何建议,我将不胜感激。您是否需要将数据保存在数据库中?您使用的是什么操作系统/w

通常,如果我想将数据从web服务器传递到应用服务器,我会将数据存储在数据库中,然后让应用服务器定期查询数据库以检查新数据。这方面的主要问题是它不是实时的,并且会对数据库造成不必要的负载

我相信有很多更好的方法可以做到这一点,但我不知道它们是什么

我正在考虑使用诸如RabbitMQ之类的消息代理来处理这个问题,但这会不会太过分了,因为我不一定要处理那么多数据?这就是消息代理的用途吗


我不确定我是否有错误的想法,如果有任何建议,我将不胜感激。

您是否需要将数据保存在数据库中?您使用的是什么操作系统/web服务器/应用程序服务器?作为一般建议,在大多数情况下可行的简单解决方案是从应用程序服务器打开一个本地端口,让web服务器连接并通过它提供数据。如果您计划扩展功能,消息代理可能也是一个不错的选择。@HappyPandaFace数据需要保存在数据库中,但我不想监视它,因为它不是实时的(将编辑问题)。web和应用服务器的操作系统都是Ubuntu,web服务器运行LEMP,应用服务器是Node。是的,您可以在Node()中打开TCP套接字。我对Apache比对nginx更熟悉。。。但是也许有一种方法可以从nginx连接到这个插座。我会在Apache中使用PHP。由于您仍然希望将数据存储在数据库中,因此此套接字可以简单地告诉应用程序服务器查看数据库,并可能提供一个要搜索的ID。是否需要将数据保留在数据库中?您使用的是什么操作系统/web服务器/应用程序服务器?作为一般建议,在大多数情况下可行的简单解决方案是从应用程序服务器打开一个本地端口,让web服务器连接并通过它提供数据。如果您计划扩展功能,消息代理可能也是一个不错的选择。@HappyPandaFace数据需要保存在数据库中,但我不想监视它,因为它不是实时的(将编辑问题)。web和应用服务器的操作系统都是Ubuntu,web服务器运行LEMP,应用服务器是Node。是的,您可以在Node()中打开TCP套接字。我对Apache比对nginx更熟悉。。。但是也许有一种方法可以从nginx连接到这个插座。我会在Apache中使用PHP。因为您无论如何都希望将数据存储在数据库中,所以这个套接字可以简单地告诉应用程序服务器在数据库中查找,并可能提供一个要搜索的ID。