我是Django&的新手。建立自己的应用程序。我想将通知系统(个人,组级和广播)从服务器集成到最终用户。无论何时登录他的帐户,通知栏都会显示在Facebook中。
目前正在使用:Django 1.8& Python 2.7
我已经通过大量的链接或博客来了解。我找到了以下几个选项:
Django gevent Socketio :Django 1.8不支持 到目前为止,我已经在Django 1.8中完成了所有工作。请让我知道,在支持&amp ;;切换到Django 1.6时,我可能面临多少问题。功能。
Pusher :我不是很清楚。多少是可行的&将Pusher用于当前现有应用程序非常有用。是否有任何兼容性问题?
Swampdragon:似乎与Django 1.8的兼容性问题
Django-Tornado,Centrifuge:我有点害怕改变整个代码。此外,我不知道未来的问题,我可能会面临。
我的问题:
请解释哪一个应该最好选择,因为在以后的阶段很难移动到另一个。
此外,切换到Django 1.6是一个更好的主意,以支持Swampdragon& Django Socketio。
请提供可能有用的链接。
如果我错了,请纠正。我需要你宝贵的建议。
答案 0 :(得分:4)
其中,我正在考虑使用nginx + uwsgi服务器设置来查找django-websocket-redis
并且看起来很有希望。顺便说一下,如果你分享你找到的东西,对每个人都有用。
还有你的问题,
1)Swampdragon+Pusher是一个很好的组合,因为它减少了许多需要实施的核心事物。
2)向后移植并不总是一个好习惯。除非阻止您的应用开发,否则永远不要这样做。
更新:现在我们有Django channels(官方承认)。我正在将它用于我的一个实时项目,到目前为止,它在几吨用户的实时更新中表现良好。
答案 1 :(得分:1)
您可以停止考虑单片系统并重新审视微服务模式,您应该至少从以下服务开始:
UI&核心应用程序
此服务是您现有的django 1.8应用程序,没有什么新东西。将此用于您的用户界面。
Websocket服务
使用您喜欢的任何框架为您的websocket创建新服务,例如tornado + django或任何其他框架/平台
这样你的核心应用程序就没有任何“添加剂”了,你可以用django来开发它。然后,对于其他服务,您可以添加任何其他依赖项,而不会对具有大量依赖项的所有系统过度收费。