微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django webserver 自动故障转移设计

如何解决Django webserver 自动故障转移设计

我正在尝试构建一个结合 Celery 的 Django 后端系统。这个想法是 Celery 每 5 分钟处理一个包含 500 多个网站的列表。由于它涉及大量网络操作,可能需要花费任何时间,而且我们有 5 分钟的时间限制,因此我们计划让多个 Django 网络服务器并行运行,每个服务器处理一定数量的网站。

这个想法是每个 Django Web 服务器将处理(500+ 网站列表)/(运行的 Django 网站实例总数),这样我们就可以分配工作量,如果有人宕机,其他人可以接管.

我创建了一个心跳休息 API,其他 Django 网络服务器将使用它来检查其他服务器的状态,但我如何使其具有可扩展性?

我想要的是每个网络服务器会自动检测有多少其他服务器正在运行,然后相应地处理列表,例如,如果有 5 个网络服务器在运行,那么每个服务器将只处理 100 个网站,第一个服务器将处理第一个 1-100,然后第二个将处理下一个 101-200,第三个将处理 201-300,等等,所有这些都将并行完成,因此整个任务会在 5 分钟内完成。此外,如果其中一个出现故障,那么现在每个都处理 125 个网站。我该如何设计这样的系统?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。