【发布时间】:2019-01-31 16:25:02
【问题描述】:
我有多个使用 nodejs 或 python/django 或 ... 这些服务运行良好。但需要彼此进行 pub/sub 异步通信。
在 nodejs 中没有问题,并且可以轻松地发布/订阅到任何 redis 频道。
问题:我的问题是如何持续订阅redis频道并接收其他服务发布的数据?
注意:许多链接建议使用 django-channels。但我想这不是这样做的方法。如果是这样,任何人都可以帮助我并详细说明如何操作。
更新: 默认情况下,Django 不像 nodejs 那样基于事件。因此,如果我使用 redis 客户端,我应该例如每秒检查一次 redis 并查看是否发布了任何内容。我认为在 python 中仅使用一个 redis 客户端就足够了。
真的很感激。
【问题讨论】:
-
为什么不在 python django 中使用 Redis Pub/Sub。我的意思是,为什么你不能在 django 中使用 Redis?从 NodeJS 订阅频道?
-
我还没有工作。但是使用
django-celerylink 可能是异步发布/订阅任务的不错选择。 -
问题是 django 不是基于事件的。如果我想拥有类似 nodejs 的性能,我应该使用 django 的实时框架。像扭曲一样。
-
我确实使用过 django-celery。但它更像是一个任务队列。我认为这不是我的问题的确切解决方案。
标签: django redis microservices publish-subscribe