【发布时间】:2014-07-04 02:50:36
【问题描述】:
我希望在 Google Cloud Compute Engine 上构建一个可扩展的 REST Web 服务,但有几个要求我不确定如何最好地实施。
目前的结构:
2 运行连接到 MySQL 云数据库的 REST Web 服务的实例。 (未来要扩大的实例数量)
负载均衡器在两个或多个实例之间拆分请求。
这部分很好。
接下来我需要的是流量(从实例到外部 Web 服务的 POST 请求)必须来自单个 IP 地址。我假设这些请求不能通过负载均衡器的公共 IP 路由回来?
我的印象是,解决方案是通过运行 squid 的第三个实例路由来自实例的所有请求。这是最好的方法吗? (附带问题)
现在我的主要问题:
我一直在阅读有关 ApiAxle 的文章,它听起来像是一个不错的 Web 服务代理,提供了一些良好的访问控制、限制和报告功能。
我能否有一个运行 ApiAxle 的实例,后跟一个谷歌云负载均衡器,它将代理的请求共享到后端实例,后端实例执行腿部工作并通过 ApiAxle 代理反馈响应,从而通过单个 IP 获得所有内容对使用 API 的客户端可见? (让我向池中添加新实例以增加容量。)
并且代理会成为瓶颈吗?
提前致谢。
/戴夫
(新手,如果这是一个愚蠢的问题,很抱歉,因为我在网上找不到类似的东西)
【问题讨论】:
-
我不清楚您的意思“我接下来需要的是流量(从实例到外部 Web 服务的 POST 请求)必须来自单个 IP 地址。”您是说您公开的 REST 服务会进行额外的外部调用吗?它必须来自单个 IP 地址的限制是否是对该外部服务许可的限制?
-
它确实与安全相关,IP 必须在目标系统中列入白名单,我需要能够通过部署新实例来快速扩展容量,并且不能等待将新 IP 地址添加到第三个的前置时间当事人制度。谢谢。
标签: web-services rest proxy load-balancing google-compute-engine