为什么我使用这个奇怪的堆栈?

这里是关于我为什么创建这个工具的简要历史。我是一名 Ruby on Rails 开发人员。我担心表演,使用的资源。 Crystal 语言看起来很有希望,但我想用不同的语言开始一些新的东西。

几年前,我在香港的一次会议上讨论了ArangoDB(我已经知道)和另一个名为OpenResty的项目。开发者对此非常兴奋,而且它也是一个RoR开发者......所以我很感兴趣。一个工具怎么能比 Rails 更好?

一段时间后,我开始挖掘大约OpenResty并找到了出色的框架Lapis

所以我在这里:我选择了我的工具。OpenResty(使用Lapis)和ArangoDB用于后端。

Fasty 覆盖什么?

在创建Fasty之前,我写了 fxxy。基于ArangoDB生成自动管理 UI 的工具。它很有用,但我仍在使用我的 Ruby CMS。

我的日常需求是:

  • 管理视图(布局、部分、组件、页面)

  • I18n

  • 管理我的后端 API

所以 Fasty 满足了我的所有需求以及更多。

使用Fasty您可以:

  • 管理视图

  • 管理 I18n 内容

  • 管理后端 API

  • 管理 NodeJS 脚本(想想 socketIO 脚本)

  • 上传资产

  • 管理数据类型(在几分钟内创建 CRUD)

  • 在服务器端渲染视图(如 Ruby 的 ERB,但使用 Lua)

  • 创建 SPA(它使用RiotJS用于 Web 组件)

  • 多租户(使用工作流(例如 DEV u003d> QA u003d> PROD))

看起来不错,但为什么是 Lua / OpenResty / ArangoDB ?

Lua /OpenResty的主要优点是它非常快并且不消耗大量 RAM(快速使用 1,5Mb)。OpenResty是一个 Nginx + 一些 Lua 库。它是顶级固体。

Lua 还允许您编写过程代码,但它可以使用协程使它们异步。因此,例如 http 调用不会阻止您的脚本。它将使用 Nginx 循环并在准备好后恢复您的脚本。

ArangoDB是一个多文档 NoSQL 数据库。它允许您轻松管理复杂数据并使用 Graph 文档。它带有Foxx,允许您在数据库的核心托管 Rest API。Fasty允许您管理它们并自动部署它们。它非常快,并且减少了对数据库的 http/tcp 调用次数。

要求

有一个 docker-compose 文件,所以从Fasty开始非常容易。它可以在微型 VM 上运行。但请注意,如果您使用数百万个文档,数据库将消耗一些 RAM。

接下来是什么?

我将制作一些关于如何开始使用 Fasty 以及如何管理您的内容、数据、动态视图和 Web 组件的视频。

Logo

更多推荐