2012-05-13 72 views
0

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

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

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

应该如何处理这种情况的首选方式?

回答

1

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

到这样做的好处是:

  • 没有必要打一个洞在防火墙
  • 可能性做一个额外的安全检查
  • 可能性扼杀到内部业务接入
  • 减黑客能够利用服务的机会
+0

你能不能给我如何可以去代理一些指点? – Lazylabs