2

我正在考虑为小型网站实施推荐引擎。该网站将使用 LAMP 堆栈,并且由于某些原因,推荐引擎必须用 C++ 编写。它由一个在线组件和一个离线组件组成,都需要连接到 MySQL。不同之处在于,在线组件需要一个连接池,而对于离线组件来说,几个持久连接甚至按需连接就足够了,因为它不需要像在线组件那样在并发请求场景中的实时性能。行组件。

在线组件将通过 Apache AXIS2 包装为 Web 服务。Apache http 服务器上的 PHP 前端应用程序从此 Web 服务模块检索推荐数据。

我能想到的在线组件有两个 DB 连接选项: 1. 使用 ODBC 连接池,我认为 unixODBC 可能是一个候选者。2. 使用作为 Apache HTTP 服务器一部分的连接池 API。mod_dbd 将是一个选择。http://httpd.apache.org/docs/2.2/mod/mod_dbd.html

对于离线组件,一个简单的 DB 连接选项是使用 ODBC 直接连接。

由于缺乏网页应用设计经验,我有以下问题:

在线组件的选项 1 是一种紧密耦合的设计,没有利用 Apache HTTP 服务器中的池化 API。但是如果我选择选项 2(三层架构),作为 Apache HTTP 服务器之外的独立组件,如何使用它的连接池 API?Java 应用程序可以部署为 WAR 文件并包含在 servlet 容器中,例如 tomcat(参见 Mahout in Action,第 5.5 节),我的 C++ 推荐引擎是否有类似的方法?

我不确定我是否制作了合适的原型。任何建议将不胜感激:)

谢谢,迈克

4

0 回答 0