c++ - 向客户公开服务

标签 c++ architecture service thrift

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

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

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

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

最佳答案

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

这样做的好处是:

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

关于c++ - 向客户公开服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10573268/

相关文章:

c++ - 如何修改 vtkPolydata 中单元格中的点?

c++ - ld : symbol(s) not found for architecture i386 IOS c++

caching - 高并发环境下NoSQL+分布式缓存的数据一致性

c# - 如何为SQL Server和MySql制作数据访问层

design-patterns - OSGi 应用程序设计 - 我在滥用服务框架吗?

C# Windows 服务 - 自动启动然后停止

c++ - 内存泄漏——这怎么可能?

c++ - 如何在另一个核心上启动线程而不将处理器亲和性设置到特定核心?

multithreading - NodeJS 真的是单线程的吗?

javascript - 修改页面 DOM 的 Firefox 插件