1

我在互联网上进行了搜索,但似乎找不到任何关于如何从代理后面使用 Thrift 协议的简单说明。

给你一些背景知识——我们有一个 Zipkin 实例设置 ( https://github.com/twitter/zipkin ),它使用 Cassandra 实例 ( http://cassandra.apache.org/ ) 来存储 Zipkin 跟踪。我们的目的是与收集器协商 thrift 协议,然后收集器负责将跟踪写入 Cassandra。

我们必须具备哪些条件才能通过我们的公司代理成功进行谈判?我们是否只需要在尝试协商时设置某些代理属性,还是必须设置其他允许协商发生的东西?

人们可以在资源和/或答案方面提供任何帮助,我们将不胜感激。

4

2 回答 2

1

Apache Thrift TSocketTransport(几乎可以肯定您正在使用的)在可配置端口上使用 TCP。Cassandra 通常使用端口 9160 进行节俭。使用 Thrift/TCP 时不需要 HTTP 设置。只需打开 9160(以及您的自定义 thrift 服务器可能正在侦听的任何其他端口)。

虽然您可以通过 HTTP 使用 Thrift,但 Thrift 是 RPC,而不是 REST,因此代理缓存会导致问题,客户端需要与服务器的直接通信通道。

于 2015-01-28T21:32:37.003 回答
0

如果您确实需要通过代理访问 thrift 服务,则可以使用以下方法:

https://github.com/totally/thrift_goodies/blob/master/transport.py

如果你不需要,你可以杀死 kerberos 的东西。

于 2018-02-16T18:31:16.600 回答