Здравствуйте, направьте меня пожалуйста в нужном направлении)
Я решил для себя перейти на "новый уровень" (с 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?