我正在寻找处理HTTP请求之上的一些薄层,可以根据uri / rest动词/实际服务位置/来轻松地路由到不同的后端....这个层也应该处理编码到任何地方请求的格式是(xml / json /返回二进制数据/等)。
最重要的一点是让它可插入一些后端 - 无论是消息队列,作业调度程序,外部进程还是完全不同的东西。应该使用最少的包装器处理它们以进行所需的消息转换。
所以基本上,这将是一个可定制的请求调度程序,顶部有一些魔法。这样的东西现在作为一个单独的应用程序存在吗?
编辑:差点忘了 - 如果它是用PHP编写的话会很棒......但如果其他东西与描述相符,我也会看一下。
答案 0 :(得分:2)
不了解PHP,但如果Java和/或Python是可接受的选项,您应该查看RESTx,它是为简单快速创建RESTful服务而设计的。 RESTx是完全开源的,GPLv3许可。
我同意许多框架都是关于对象创建和映射的,这通常会非常烦人并妨碍我们。但是,RESTx是关于数据,内容类型的自动转换等等。使用RESTx,您可以使用Java或Python编写自定义组件。这些组件可以负责访问数据库,自定义API,遗留数据,云服务等.RESTx检查代码并自动生成自我记录,可发现的RESTful API。这是您可以关注的所有链接。看看如何take a tour of the server with a web browser。
关键是你可以将参数集POST到那些组件,然后在新的URI下存储和访问这些组件。您可以访问URI,将参数应用于组件,然后返回输出。因此,您可以快速创建新的RESTful Web服务和资源。您可以从组件的代码中轻松访问其他资源,但不会导致额外的HTTP请求。
我是RESTx的首席开发人员,所以如果您对此有任何疑问,请在论坛上与我联系(链接到我们的网站上)。
答案 1 :(得分:1)
Mongrel成名的Zed Shaw试图做到这一点。他正在创建Mongrel2(仍处于开发阶段),本质上是Web应用程序后端的通用前端。它允许您插入任何可以发送和接收0MQ或HTTP消息的程序,如反向代理。
它还使用了一个理智的配置文件系统:SQLite。不再使用奇怪的语法搞乱Apache配置文件。
它是用C语言编写的,因此它可能不像PHP那样容易部署,但它确实可以很好地扩展。
如果您对Mongrel2不满意,那么自己滚动就相对容易了。我已经将nodejitsu的node-http-proxy用于我自己的一个项目。这很简单,快速。另外,您可以使用常规的旧if
语句编写路由规则。
我是StackOverflow的新手,所以它不会让我嵌入多个超链接,哈哈。