我需要构建一个基本上公开某些 URI 端点并将它们映射到任意数量的后端 URL 的 API。
所以 API 在 Mongo 中会有这样的映射:
{"name": "example", "from": "/resources", "to": "http://backendservice.com/1/billing", "method": "POST"}
{"name": "example1", "from": "/resources/:id", "to": "http://backendservice.com/1/billing/:id", "method": "GET"}
{"name": "example2", "from": "/somethingelse/*", "to": "http://google.com/foo/*", "method": "ANY"}
这里的目的是让我们的所有客户都可以使用一个入口点来访问所有各种服务。它还允许简化日志记录和报告。
因此,如果我们请求 api.example.org/resources,系统会将传入的请求 URL 匹配到目标 URL。向目的地发出请求并接收响应,进行适当的日志记录并处理任何错误。说得通?
我的问题:
是否有任何开箱即用的开源解决方案可以做到这一点?
您建议将哪些框架/库等作为一个好的起点。我看过 Goliath (Ruby),但不限于任何语言,只要它是开源和 linux 即可。
谢谢。