OpenResty + Tarantool

44 views
Skip to first unread message

Александр

unread,
Jan 5, 2020, 7:42:33 PM1/5/20
to tarantool-ru
Здравствуйте, направьте меня пожалуйста в нужном направлении)

Я решил для себя перейти на "новый уровень" (с php) и написать веб-приложение, используя OpenResty + Lua + Tarantool. Но, как я понял, OpenResty использует свой Lua, а Тарантул свой. Причем оба используют LuaJIT. От сюда выплывает, что нужно заранее выбрать, какой Lua использовать? Если я хочу получить доступ к box, то должен использовать Lua, который идет с Тарантулом, но тогда я теряю остальные плюшки от OpenResty. 

На OpenResty я установил фреймворк Lapis, который "включает в себя URL-маршрутизатор, HTML-шаблоны, защиту от CSRF-атак и поддержку сеансов и несколько других полезных функций, необходимых для разработки веб-сайтов."  То есть, я прописываю в своем app.lua роут, а уже в этом роуте подключаюсь к БД и тд.

На Github нашел модули lua-resty-tarantool и tarantool-lua. Но мне не понятна логика этих модулей - зачем делать "обертку" над "сервером приложений" Тарантула, если в них нет доступа к box? Да, в lua-resty-tarantool есть функция eval(), но это не то. Все что они могут делать - это insert, select, replace, delete, update. То есть, часть логики своего приложения я должен перенести в "запуск" тарантула - в файл экземпляра, где создаю таблицу (спейс), идексы и тд, а остальную часть писать, используя модуль lua-resty-tarantool, верно?

И третий вопрос: можно ли полностью интегрировать Тарантул в OpenResty, чтобы для его использования достаточно было просто подключить через require() и чтобы использовался один Lua?
Как вообще лучше поступить в данной ситуации?
Спасибо.
Reply all
Reply to author
Forward
0 new messages