Python Nameko 多项目(开发)

2024-03-29 07:47:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我们在项目设置中使用Flask和nameko和RabbitMQ。几个月前,我们已经开始开发多个服务名称。在

我们有两个项目-A和B,两个项目都有UserService(具有不同的功能):

class UserService:
    name = 'user_service'
    ...

问题是当我们需要在同一台机器上运行两个项目时,一个用户服务无法工作。准确地说,两者都在工作,但是所有的请求都由其中一个处理,由于它们的结构不同,我们得到了错误。在

第一个想法是在服务名中添加project前缀,类似于A_user_service,但这确实是一个很难看的解决方案(在rpc部分,我们需要调用类似rpc.A_user_service的内容,这很糟糕)。nameko项目有没有名称空间?我们试图将config中的rpc_excange参数设置为每个项目都不同,但这并不能解决我们遇到的问题。在


Tags: 项目name功能名称机器flask错误service
1条回答
网友
1楼 · 发布于 2024-03-29 07:47:27

我想这在某种程度上取决于你如何定义“项目”。服务名称是主名称空间,因此如果这两个用户服务有可能共存,它们可能应该使用不同的(也许更具体)服务名称。在

如果它们是完全独立的(例如,为两个独立的客户机开发的),那么使用单独的rabbitmqvhost可以解决您的问题吗?这样一来,您将运行两个独立的服务“集群”,vhost a中的任何内容都无法看到或与vhost b中的任何内容进行通信(当然,如果需要,您可以在两个客户端站点/网络上运行服务x的实例)

相关问题 更多 >