Ruby неблокирующие библиотеки против Node - PullRequest
4 голосов
/ 19 марта 2012

Я оцениваю Ruby EventMachine (и подобные неблокирующие фреймворки, такие как Cramp) по сравнению с Node.js.Я работал с Node раньше, но никогда не работал с EventMachine.Одна из идей, которую поддерживает Райан Даль, заключается в том, что экосистема библиотек в javascript должна быть аналогично неблокируемой, чтобы способствовать этому.Это одна из причин, по которой Node разрабатывался с нуля.

Мой вопрос: вы можете продвинуться в Ruby без блокировки?Я предполагаю, что одного EventMachine часто недостаточно для создания полного стека веб-приложений.Если да, то какие другие библиотеки в Ruby поддерживают неблокирующий ввод-вывод (например, для доступа к базе данных / файловой системе / http)?

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Вы должны проверить большую часть работы Ильи Григорика и его работы над Синхронией и Голиафом .

Они помогают вамнаписать асинхронный код с обратными вызовами в императивном стиле (кажется синхронным).

1 голос
/ 21 марта 2012

Как только что отметил @Holder, здесь есть список неблокирующих библиотек для использования с EventMachine:

https://github.com/eventmachine/eventmachine/wiki/Protocol-Implementations

...