LINUX.ORG.RU

[Django] Общение между модулями сайта по HTTP

 


0

0

Пишу некий сайт с модульной структурой. Каждый модуль нуждается в определенных ресурсах (списки пользователей, картинки, посты етс), которые ему могут предоставить другие модули. Также каждый модуль имеет свой уровень доступа к ресурсам.

Вопрос в чем. Хочу заставить все это хозяйство общаться между собой по HTTP. Как в Django лучше это сделать? Наткнулся на Pythomnic и Twisted: не подскажете, сильный оверхед будет, если их использовать? Или лучше гонять запросы через curl/сокеты?

Спасибо.

anonymous

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

http://softwaremaniacs.org/blog/2008/01/10/signals-in-pluggable-apps/

rab_boziy
()
Ответ на: комментарий от rab_boziy

>Если все же остановишься на http, то есть питоновские либы, умеющие работать с SOAP, но он немного не для таких вещей предназначен.

Я собственно хотел реализовать REST: нужна возможность взаимодействия между модулями, размещенными [возможно] на разных серверах.

Если хттп будет существенно тормозить, оставлю его только для "внешних" модулей, для "внутренних" попробую сигналы. Спасибо.

anonymous
()

твистед вообще лучше не трогать, ибо тормоз

barbuza
()

> Хочу заставить все это хозяйство общаться между собой по HTTP.

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

(c) В.Цой

anonymous
()
Ответ на: комментарий от anonymous

P.S.
Авторизацию сертификатами не забудь навесить, для безопасности :-D

anonymous
()

В Pythomnic приложение естественным образом организуется как набор отдельных модулей, общающихся между собой через RPC (поверх TCP) или P2P очереди. В случае RPC одна часть приложения вызывает другую следующим: result = pmnc.execute.on("other").module.method(*args, **kwargs) см. http://www.pythomnic.org/architecture_cage_to_cage.html Оверхед присутствует в виде маршалинга аргументов и сетевой передачи. В отличие от (не keep-alive) HTTP, установленные TCP RPC соединения не разрываются, а используются повторно.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.