【问题标题】:Exposing Service to Clients向客户公开服务
【发布时间】:2012-05-13 16:20:26
【问题描述】:

我们的应用程序中有内部服务,基本上是作为 Thrift RPC 服务开发的。现在,我需要将这些服务公开给核心系统之外的客户端应用程序。

现在,问题是: 我应该直接向客户公开这些 Thrift 服务吗?这样做的好处是所需的工作量最少。缺点是客户端需要连接到这些 Thrift API 以及另一个已经存在的接口,所以实际上客户端应用程序需要打开多个套接字才能连接到核心系统。

另一种选择是将这些 Thrift 服务包装在另一层中,最终将交付给最终客户端。这样做的缺点:对数据进行两次编组/解组,一次使用 Thrift,下一次使用另一个接口。

处理这种情况的首选方法应该是什么?

【问题讨论】:

    标签: c++ architecture service thrift


    【解决方案1】:

    我们不会将这些服务直接暴露给外部客户。我们将构建或使用应用程序来配置外部客户端可以连接到的代理。

    这样做的好处是:

    • 无需在防火墙上打洞
    • 可以进行额外的安全检查
    • 可以限制对内部服务的访问
    • 黑客利用服务的机会更少

    【讨论】:

      猜你喜欢
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多