3

我正在寻找一些处理 HTTP 请求之上的薄层,这些请求可以根据 uri / rest 动词 / 实际服务位置 / ... 轻松路由到不同的后端。该层还应该处理编码为任何请求的格式是(xml/json/返回二进制数据/等)。

最重要的一点是让它可插入到某个后端——无论是消息队列、作业调度程序、外部进程还是完全不同的东西。应该使用最少的包装器来处理它们以进行所需的消息翻译。

所以基本上,这将是一个可定制的请求调度程序,顶部有一些魔法。类似的东西现在作为一个单独的应用程序存在吗?

编辑:差点忘了 - 如果它是用 PHP 编写的,那就太好了……但如果其他内容与描述相符,我也会看看。

4

2 回答 2

2

不了解 PHP,但如果 Java 和/或 Python 是您可以接受的选项,您应该看看RESTx,它是为简单快速地创建 RESTful 服务而设计的。RESTx 是完全开源的,GPLv3 许可。

我同意许多框架都是关于对象创建和映射的,这通常会很烦人并且会碍事。然而,RESTx 是关于数据、内容类型的自动转换等等。使用 RESTx,您可以使用 Java 或 Python 编写自定义组件。这些组件可以处理对数据库、自定义 API、遗留数据、云服务等的访问。RESTx 检查代码并自动生成一个自我记录的、可发现的 RESTful API。这是您可以关注的所有链接。看看如何使用 Web 浏览器浏览服务器

关键是您可以将参数集发布到那些组件,然后在新的 URI 下存储和访问这些组件。您访问 URI,将参数应用于组件,然后返回输出。因此,您可以快速创建新的 RESTful Web 服务和资源。您可以从组件代码中轻松访问其他资源,并且不会导致额外的 HTTP 请求。

我是 RESTx 的主要开发人员,所以如果您对此有任何疑问,请在论坛上与我联系(这些链接在我们的网站上)。

于 2010-08-09T18:14:47.610 回答
1

Mongrel 名声的 Zed Shaw 正试图做到这一点。他正在创建 Mongrel2(仍在开发中),本质上是 Web 应用程序后端的通用前端。它允许您插入任何可以发送和接收 0MQ 或 HTTP 消息的程序,例如反向代理。

它还使用一个健全的配置文件系统:SQLite。不再用奇怪的语法弄乱 Apache 配置文件。

它是用 C 编写的,因此它可能不像 PHP 这样的语言那么容易部署,但它的扩展性确实很好。

如果你对 Mongrel2 不满意,自己动手做起来相对容易。我在自己的一个项目中使用了 nodejitsu 的node-http-proxy。它简单快捷。另外,您可以使用常规的旧if语句编写路由规则。

我是 StackOverflow 的新手,所以它不会让我嵌入多个超链接,哈哈。

于 2010-08-10T16:54:25.040 回答