问题标签 [thrift-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
720 浏览

php - PHP 客户端与 Apache Thrift API 通信

我是一名 PHP 开发人员,在一个将使用 Apache Thrift API 与另一台服务器通信的站点上工作,所以我想知道是否有一些现有的类或某种方式可以用来与 PHP 中的 Thrift API 进行通信。我看到了用 Python 编写的使用 Tsocket 的示例,但我不知道 PHP 是否有 Tsocket 类。因此,如果有人做过这样的工作,那么请发布一些示例或讲述一些我可以用来在 PHP 中实现 thrift API 客户端的类。

提前感谢大家的努力。

0 投票
1 回答
1007 浏览

php - 基于 PHP 的 thrift API 客户端,例如 python 中的 thirft.apache.org 示例客户端

我想在 python 中编写基于 PHP 的 thrift API 客户端,例如 thirft.apache.org 示例客户端:http: //thrift.apache.org/

我写了这段代码:

那么它是python客户端代码的正确替代方案吗:http: //thrift.apache.org/

请提出任何建议,因为我是新手。

谢谢

0 投票
1 回答
2310 浏览

php - 基于 PHP 的 Thrift 客户端的 Thrift 服务

我已经下载了 thrift .tar 文件并获取了 lib/php/src 文件夹,并将其重命名为 thrift 。然后在我的 PHP 文件中编写 PHP Thrift Client ,我有以下代码:

当我尝试执行它时,它给出了我没有MyService文件的错误。我没有那个是正确的。我想知道从哪里可以获取该文件或从哪里可以知道如何编写此类服务。我这么问是因为我不熟悉 Apache Thrift。请告诉我是否做错了什么,或者是否有人知道我如何编写服务文件以及其中会包含什么?仅编写 PHP Thrift 客户端是否需要某种编译器?

请告诉任何你知道的,谢谢你给我一些时间来回答我的问题。

0 投票
1 回答
5455 浏览

python - Python 中的非阻塞 Thrift 服务器

在下面的代码片段中,我试图在 python 中创建一个非阻塞的 thrift 服务器。

当 python 客户端尝试连接具有上述代码片段的服务器时,我收到以下错误。你能告诉我是什么导致了这个错误吗?可能我错过了一些东西。

0 投票
1 回答
315 浏览

java - 在 TProtocol 之间转换

我想从 TBinaryProtocol 转换为 TSimpleJSONProtocol,这样我就可以以更易于阅读的方式显示二进制 thrift 请求的记录流。我对流中的服务请求特别感兴趣,所以使用 TDeserializer 不是一种选择(我也希望保持代码通用 wrt 正在使用的特定 Thrift 服务/对象。

有没有办法直接将 TBinaryProtocol 对象转换为 TSimpleJSONProtocol 而无需构造 Thrift 对象的中间步骤?

0 投票
1 回答
491 浏览

thrift - 如何在 Python Thrift 服务器中获取客户端信息?

我有使用 TThreadPoolServer 的 python Thrift 服务器。我的问题是如何在其中一个服务器服务例程中获取客户端信息?一种方法是在从客户端调用服务时传递客户端信息(即参数之一)。有没有其他方法或 API 可以做到这一点?

0 投票
1 回答
932 浏览

php - phpcassa 连接池

我有一个数据访问类,它在实例化时设置了三个 phpcassa 连接池,如下所示:

我最近在zend的php服务器上使用了代码跟踪功能对这个类进行了一点性能审计,注意到这三个连接池的设置消耗了大约100ms。考虑到每个连接在这个类的每个实例化中只使用一次或两次,这会浪费很多时间来设置连接。

任何人都知道任何可以让我构建这些连接池并在类的实例之间共享它们的聪明技巧吗?也许有一些简单的方法可以立即用于更高级的 PHP 开发人员?

更新:是否“成功”使用 APC 缓存连接池,然后阅读有关持久连接的更多信息,发现 phpcassa 的 connection.php 文件(第 59 行 v 0.8.a.2)如下所示:

...好吧,TSocket 有第三个(可选)参数 $persist,默认为 false。但是当我将 phpcassa 中的第 59 行更改为将 $persist 设置为 true 时,我的回归测试对我来说简直就是地狱。他们失败的方式让我看起来像是在某个地方达到了一些“最大连接数”限制(大概是 cassandra 配置),所以我现在正在调查。

0 投票
1 回答
2315 浏览

thrift - Apache Thrift:如何在服务器端检查客户端是否还活着?

我有一个用 Java 编写的节俭客户端和一个用 C++ 编写的节俭服务器。假设客户端通过 Thrift 接口调用 C++ 服务器上的耗时函数。在这种情况下,假设客户端在服务器完成这个耗时函数的执行之前就死掉了。thrift API 中是否有句柄或函数来检查服务器代码中客户端是否处于活动状态,以便服务器可以在尝试向已经死亡的客户端发送响应之前采取一些预防措施。谢谢。

简而言之,我的问题是我们可以在服务器中确定调用客户端是否还活着吗?thrift API 中是否有用于此目的的句柄?

0 投票
2 回答
2948 浏览

load-balancing - 负载均衡节俭流量

我有一个基于节俭的客户端/服务器架构设计。有人对如何负载平衡基于节俭的服务有经验吗?我正在寻找一些负载平衡方法,甚至可以应用一些算法,例如。循环,加权等

0 投票
1 回答
240 浏览

cassandra - 针对 cassandra 中的一个键的多个超级列的所有子列

我们能否在一个请求中针对一个键读取多个超列的所有可用子列的列表。

例如

我们有一个带有超列 x1,x2,x3 的键“y1”

x1 有子列,名称类似于 c1,c2,c3
x2 有子列 c9 和 c8
x3 有 c1,c3,c10

我想针对一个键“y1”读取一个请求中的所有子列。