XMPP openfire, PHP и уеб услуга на python

Планирам да интегрирам известия в реално време в уеб приложение, върху което работя в момента. Реших да използвам XMPP за този и избрах openfire сървър, който смятах за подходящ за моите нужди.

Предният край използва strophe библиотека, за да извлича известията с помощта на BOSH от моя openfire сървър. Известията обаче са известията и други съобщения трябва да бъдат публикувани от моето приложение и следователно мисля, че този код трябва да се намира в задната част. Първоначално мислех да използвам PHP XMPP библиотеки като XMPHP и JAXL, но след това смятам, че това би причинило много излишни разходи, тъй като всеки скрипт ще трябва да изпълнява едни и същи стъпки като свързване, удостоверяване и т.н. и мисля, че това ще направи PHP края малко бавен и не реагира.

Сега мисля да създам приложение за междинен софтуер, действащо като уеб услуга, която PHP ще извика и това приложение ще обработва нещата с услугата XMPP. Ползата от това е, че това приложение (сървър, ако искате) ще трябва да се свърже само веднъж и то ще стои там и ще слуша на порт. също така планирам да го създам по асинхронен начин, така че първо да вземе всички заявки от моето PHp приложение и след това, когато няма повече заявки; отидете да правите неща за публикуване на известия. Планирам да създам тази услуга в Python с помощта на SleekXMPP.

Точно това планирах. Аз съм нов в XMPP и цялата тази работа с уеб услугата и бих искал да взема вашите коментари по това относно проблеми като използване на памет и процесор, предимства, недостатъци, проблеми с мащабируемостта, сигурност и т.н.

Благодаря предварително.

PS:-- също, ако нещо подобно вече съществува (въпреки че не намерих след много гугъл) Моля, насочете ме там.

РЕДАКТИРАНЕ --- Услугата от средно ниво трябва да прави следното (но не само): 1. Публикуване на известия за различни нива на групи и страници на общността. 2. Известие за единичен потребител за някакво събитие. 3. Регистрация на потребител (все пак може да се направи с помощта на плъгин за потребителски услуги).

РЕДАКТИРАНЕ --- Също така би трябвало да иска да създава pub-sub възли и да абонира и отписва потребители от тези pub-sub възли.

Също така искам да съхранявам известията и съобщенията в база данни (openfire не го прави). Ще бъде ли това добър избор?


person mlakhara    schedule 09.12.2012    source източник
comment
Можете ли да дадете повече информация какво ще прави това приложение за междинен софтуер?   -  person Vincent Paca    schedule 10.12.2012


Отговори (1)


Струва ми се, че XMPP е малко тежко решение за това, което правите, като се има предвид, че комуникацията е само еднопосочна и вие просто изпращате известия (без многопотребителски чат в реално време и т.н.).

Бих обмислил използването на нещо като Socket.io (http://socket.io) за сървъра‹=>клиентски канал заедно с Redis (http://redis.io) за постоянство.

person Marc    schedule 10.12.2012
comment
добре, аз също ще разработвам чат и други функции в реално време, след като завърша работата с известията. За чат обаче трябва само да внедря кода на Front End (използвайки strophe), предполагам. - person mlakhara; 10.12.2012