代码之家  ›  专栏  ›  技术社区  ›  markquezada

在Erlang和Rails(和MongoDB)之间共享模型定义

  •  3
  • markquezada  · 技术社区  · 16 年前

    我有一个通过MongoMapper使用MongoDB的Rails应用程序,一切都很好。问题是…我将要使用Erlang进行一些后台处理,并且要用这个处理的结果更新相同的mongo/mongomapper模型。在两个应用程序(Rails和Erlang)之间共享模型定义并保持清醒的最佳方法是什么?如果它们都访问相同的记录,那么尝试单独管理它们似乎会有问题。如果没有“好”的方法,我只是走错了路吗?

    附加信息:我最初使用starling/working客户机进行后台处理。这很好,因为我可以使用所有相同的Rails模型和代码。但是性能很差,所以我希望二郎能解决一些效率问题。这是一个正在处理的大量数据,但它可以很容易地并行处理。

    我试图避免通过REST或Thrift接口使用Erlang作为MongoDB和Rails之间的唯一中介。

    编辑: 我想在这上面多放点光。Erlang处理需要预先了解一些模型。我基本上使用Erlang从其他地方提取数据,并填写模型对象的详细信息。因此,例如,可能有一个描述字段,我使用xmerl_xpath:string(“//description/text()”)从XML文件中抓取它。我需要能够添加这样的方法,这些方法将作用于模型的字段。

    1 回复  |  直到 16 年前
        1
  •  1
  •   tobym    16 年前

    MongoDB有两个社区支持的Erlang drivers (埃尔蒙戈和埃蒙戈)。通过这些驱动程序访问MongoDB将为您提供本机Erlang对象。

    ruby->mongomapper->mongo ruby驱动程序->mongodb->(emongo erlmogo)->erlang