【问题标题】:Using rabbitmq with twisted将rabbitmq与twisted一起使用
【发布时间】:2014-04-30 07:20:25
【问题描述】:

我正在开发一个 tcp/ip 服务器,其目的是从客户端接收数据包,解析它们,进行一些计算(对到达数据包的数据)并将其存储在数据库中。到目前为止,一切都是由使用 twisted python 编写的单服务器应用程序完成的。现在我正在使用 RabbitMQ,所以我的问题是,如果我的扭曲服务器应用程序只接收来自客户端的数据包并使用 RabbitMQ 将另一个 c++ 应用程序传递给它,是否有可能以及它是否会带来更好的性能。 c++ 应用程序将依次解析数据包、对其进行计算等。一切都将在单个服务器上完成。

【问题讨论】:

    标签: python rabbitmq twisted


    【解决方案1】:

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

    【讨论】:

    • 每个客户端将以 10-12 秒的间隔发送数据包,最初它们的客户端数量约为 500 个,以后会增加
    • 是少还是多,并没有计算公式(反正服务器上数据处理的时间也要算在内),但是由于客户端的数量会增加,我建议你分离数据处理服务器。
    • 如果发布者的评论“一切都将在单个服务器上完成”,它实际上不会更好地“扩展”。是准确的。
    • 为什么不呢?该单一服务器可能具有能够真正并行运行进程的现代处理器。如果数据处理只是一些计算,数据处理服务器可以完全独立运行。
    猜你喜欢
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多