Mornink!
我需要设计,编写和实现由多个执行不同角色和运行不同服务的unix服务器组成的宽系统。该系统必须防弹,坚固且快速。是的,我知道。 ;)由于我不知道如何处理这项任务,我决定在离开设计阶段之前询问你的意见。以下是工作流程的流程:
现在,将这些请求存储在某种队列中并执行它们的现代,强大,干净和有效的方法是什么?我应该发送一些信号,还是应该让所有子系统检查任何类型的队列/数据库以获取新数据?可能是那个队列,它应该是一个数据库吗?如何处理消息?我想过打开单个tcp连接并通过它发送数据,以及在另一端触发动作/功能的命令,但仔细观察,必须有其他更好的方法。所以我发现了Spring Python,因为它被批评为90年代。
我知道这是一个非常广泛的问题,但我真的希望你能帮助我绕过那个设计而不是在这里做些蠢事:)
提前致谢!
答案 0 :(得分:0)
一些一般性的想法: 您可以采用主客户端方法。请求将插入到主数据库中,存储在数据库中。 Master知道每个客户端的状态(相同的db)。只要有请求,主服务器就会将其重定向到免费客户端。客户端在完成任务时报告(包括答案,如果有的话),使其能够从主服务器接收新任务(这消除了对池的需要)。 可以使用Web服务进行通信。 HTTP请求/帖子应该解决所有情况。无需实际进入TCP级别。
只是一般性的想法,希望它们有用。
答案 1 :(得分:0)
有许多消息队列技术都是Python友好的,可以很好地服务。我所知道的前两个是ActiveMQ和RabbitMQ,它们都适用于Python,另外我发现this comparison表明ActiveMQ目前(截至18个月前!)优于RabbitMQ