Кто-нибудь знает об асинхронном клиенте CouchBase для веб-платформы Tornado?


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

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

1 2

1 ответ:

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

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

Обновить

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