我们在项目设置中使用 Flask 和 nameko 和 RabbitMQ。我们将它用于多个项目(我们已经在 2 个月前开始),并且我们在开发时遇到了服务名称的问题。
我们有两个项目 - A 和 B,它们都有 UserService(具有不同的功能):
class UserService:
name = 'user_service'
...
问题是当我们需要在同一台机器上运行两个项目时,一个用户服务不起作用。准确地说,两者都在工作,但所有请求都由其中一个处理,并且由于它们的结构不同,我们得到了错误。
第一个想法是在服务名称中添加项目前缀,例如A_user_service
,但这确实是丑陋的解决方案(rpc
部分我们需要调用类似的东西rpc.A_user_service
,这很糟糕)。nameko 项目是否有任何类型的命名空间?我们尝试将rpc_excange
配置中的参数设置为每个项目不同,但这并不能解决我们遇到的问题。