Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用rabbitmq和twisted_Python_Rabbitmq_Twisted - Fatal编程技术网

Python 使用rabbitmq和twisted

Python 使用rabbitmq和twisted,python,rabbitmq,twisted,Python,Rabbitmq,Twisted,我正在开发一个tcp/ip服务器,其目的是从客户端接收数据包,解析数据包,对数据包中的数据进行计算,并将其存储在数据库中。到目前为止,一切都是由使用TwistedPython编写的单服务器应用程序完成的。现在我跨越了RabBMQ,所以我的问题是,如果它是可能的,如果它的性能更好,如果我的扭曲服务器应用程序刚刚从客户端接收到数据包,并使用RabBMQ传递另一个C++应用程序。C++应用程序将依次解析包,对其进行计算等。一切都将在一台服务器上完成。如果您的服务器不经常接收数据包,它不会有多大改进-只

我正在开发一个tcp/ip服务器,其目的是从客户端接收数据包,解析数据包,对数据包中的数据进行计算,并将其存储在数据库中。到目前为止,一切都是由使用TwistedPython编写的单服务器应用程序完成的。现在我跨越了RabBMQ,所以我的问题是,如果它是可能的,如果它的性能更好,如果我的扭曲服务器应用程序刚刚从客户端接收到数据包,并使用RabBMQ传递另一个C++应用程序。C++应用程序将依次解析包,对其进行计算等。一切都将在一台服务器上完成。

如果您的服务器不经常接收数据包,它不会有多大改进-只会在服务器间通信上获得一些微小的开销。这仍然是一个非常好的设计理念,因为它具有很好的扩展性,一旦您最终获得了许多数据包,您只需添加一个数据处理服务器实例。

每个客户端将以10-12秒的间隔发送数据包,最初大约有500个客户端,稍后会增加。没有公式可以计算它是少还是多,服务器上的数据处理时间必须计算在内,但由于客户端数量将增加,我建议您将数据处理服务器分开。如果海报上的评论是所有操作都将在单个服务器上完成,那么实际上扩展性不会更好。是准确的,为什么不呢?这台服务器可能有一个现代处理器,能够真正并行地运行进程。如果数据处理只是一些计算,那么数据处理服务器可以完全独立运行。