我已经通过互联网进行了搜索,但似乎无法找到关于如何在代理服务器后面使用Thrift协议的任何简单说明。
为了给你一些背景知识 - 我们有一个Zipkin实例设置(https://github.com/twitter/zipkin),它使用Cassandra实例(http://cassandra.apache.org/)来存储Zipkin跟踪。我们的目的是通过节约协议与收集者进行协商,然后收集者负责向Cassandra写入痕迹。
我们必须通过公司代理成功协商哪些条件?我们是否只需要在尝试协商时设置某些代理属性,或者我们是否必须设置允许此协商发生的其他内容?
非常感谢人们可以在这方面提供有关资源和/或答案的任何帮助。
答案 0 :(得分:1)
Apache Thrift TSocketTransport(几乎可以肯定你使用的)在可配置端口上使用TCP。 Cassandra通常使用端口9160进行节俭。使用Thrift / TCP时,无需进行HTTP设置。只需打开9160(以及您的自定义thrift服务器可能正在侦听的任何其他端口)。
虽然您可以通过HTTP使用Thrift,但Thrift是RPC,而不是REST,因此代理缓存会导致问题,客户端需要与服务器建立直接通信通道。
答案 1 :(得分:0)
如果您确实需要通过代理访问thrift服务,那么这样的工作就可以了:
https://github.com/totally/thrift_goodies/blob/master/transport.py
如果你不需要,可以杀死kerberos。