【发布时间】:2018-03-19 07:19:48
【问题描述】:
我正在设计一个基于 django 的 Web 应用程序,该应用程序能够通过 Web 套接字提供需要从 Kafka 主题中使用的数据。
此时,我想出了一个拆分为两个组件的解决方案:一个组件从 kafka 消费,对检索到的数据执行一些基本操作,并使用 http 请求将结果发送到 django 应用程序。 收到请求后,会在特定的 django 频道上写入一条消息。
是否有更好的架构来解决这种情况?我应该将所有 Kafka 部分包含在 celery 异步任务中的“while True”循环中吗? django 启动时我应该生成一个新进程吗?如果是这样,我还可以使用 django 信号通过 web 套接字发送数据吗?
谢谢, 脸书
【问题讨论】:
-
我没有完整的答案,但你看过channels.readthedocs.io/en/latest吗?
-
曾经讨论过让 Kafka 作为 celery 的代理,并且有部分实现:github.com/celery/kombu/issues/301
标签: django apache-kafka celery