2012-02-18 3 views
2

Я пишу веб-приложение, которое использует nginx для обслуживания статического контента и торнадо для обслуживания динамического контента. Я думал использовать CouchBase в качестве своего хранилища данных, но мне трудно найти подходящего клиента для использования с каркасом Tornado (т. Е. Асинхронным). Кто-нибудь знает об одном?Кто-нибудь знает асинхронного клиента CouchBase для веб-фреймворка Tornado?

Я видел trombi: https://github.com/inoi/trombi, но не смог найти много информации об этом. Если у кого-то был какой-то опыт (хороший или плохой), я бы хотел услышать об этом.

ответ

2

Я бы рекомендовал придерживаться выпущенного кода Couchbase для Python. Хотя это не является технически асинхронным, запросы выполняются так быстро, что это действительно не влияет на вещи. Это не похоже на создание запроса для базы данных, который мог бы легко заблокировать продолжающиеся действия в течение определенного периода времени. Не говоря уже о том, что существует много балансировки нагрузки и кода управления ведром, которые вы потеряете в большинстве ситуаций, пытаясь найти для него какой-то сторонний модуль.

Также вы всегда можете создать многопроцессорный пакет для создания подпроцессов для обработки этих вызовов из основного потока процессов и уменьшения воздействия практически на ничего.

UPDATE

Другой вариант заключается в использовании внутренней функции обратного вызова смерча, чтобы компенсировать процесс блокировки, так что он не ухудшает просмотр. Способ для этого описан здесь: http://tornadogists.org/2185380/

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