4

Я новичок в Django &, строя собственное приложение. Я хочу интегрировать систему уведомлений (Personal, Group Level & Broadcast) с сервера на конечного пользователя. всякий раз, когда он входит в свой аккаунт, отображается панель уведомлений, как в facebook.Django - система уведомлений в реальном времени

В настоящее время Использования: Django 1.8 & Python 2.7

Я прошел через число ссылки или блог, чтобы узнать. Я пришел через несколько вариантов следующим образом:

  1. Джанго GEvent Socketio: не поддерживается Django 1.8 Я сделал все, что в Django 1.8 до еще. Пожалуйста, дайте мне знать, с какими проблемами я могу столкнуться при переключении на Django 1.6 с точки зрения поддержки &.

  2. Pusher: Я не очень понимаю. насколько это возможно & полезно использовать Pusher в текущем существующем приложении. Есть ли проблемы с совместимостью?

  3. Swampdragon: Похоже, некоторые проблемы совместимости с Django 1.8

  4. Джанго-Торнадо, Центрифуга: Я немного боюсь, чтобы изменить весь код. Кроме того, я не знаю о будущих проблемах.

Мои вопросы:

  1. Пожалуйста, объясняющие, который один должен быть лучше выбрать, как это трудно, чтобы перейти к другому на более позднем этапе.

  2. Кроме того, переход на Django 1.6 является лучшей идеей поддержки Swampdragon & Django Socketio.

Просьба предоставить ссылки, которые могут помочь.

Если я ошибаюсь, исправьте. Мне нужны ваши ценные предложения.

ответ

1

Вы можете перестать думать о монолитных системах и перейти на шаблон microservices, вы должны начать, по крайней мере, следующие услуги:

  1. UI & ядро ​​приложения

    Эта услуга существующая Джанго 1,8 приложение, ничего нового. Используйте это для своего пользовательского интерфейса.

  2. WebSocket сервис

    Создать новую услугу для вашего WebSocket с любыми рамками вы предпочитаете, как смерч + Джанго или любые другие рамочные/платформы

Таким образом, ваше основное приложение не имеет любые «добавки», и вы можете чувствовать себя комфортно, развивая его с помощью только джанго. Затем к другой службе вы можете добавить любую другую зависимость, не перезаряжая всю систему с помощью этого огромного списка зависимостей.

Взгляните на следующую ссылку: http://microservices.io/patterns/microservices.html

2

Я исследовать то же самое. Есть некоторые с открытым исходным кодом, но настраиваемые решения, такие как,

Из них, я имею в виду Tyring из django-websocket-redis как я использую Nginx + uwsgi настройка сервера, а также его выглядит многообещающим. Кстати, было бы полезно для всех, если бы вы делились тем, что нашли.

И вопросы,

1) Swampdragon+Pusher аккуратно хороший комбо, как это уменьшает много основных вещей, должно быть реализовано.

2) Бэкпортация не всегда является хорошей практикой. Никогда не делайте этого, если он не блокирует разработку вашего приложения.

ОБНОВЛЕНИЕ: Теперь у нас есть Django channels (официально признано). Я использую его для одного из моих живых проектов, и до сих пор он хорошо работает для обновлений в реальном времени с несколькими тоннами пользователей.

Смежные вопросы