问题标签 [twitter-finagle]

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 投票
2 回答
1173 浏览

scala - Map or match a Scalaz.EitherT

I have this for-comprehension:

It chains com.twitter.util.Future operations, each of the methods returning a Future[\/[InvalidResponse, CorrectResponse]]

I now want to map or match over the result.

What is the correct syntax to match between left and right?

0 投票
1 回答
6217 浏览

scala - Finagle 和 Akka,为什么不一起使用呢?

我在实践中没有使用过 Finagle 或 Akka,但我已经阅读了很多关于它们的内容。

Finagle 是一个 RPC 系统,而 Akka 是一个用于高并发应用程序的工具包,为什么所有人都将它们作为两种可能的解决方案进行比较,不能一起使用?我所做的所有搜索都建议使用其中一种,没有人建议将它们一起使用。

例如,Finagle 有一种非常有趣的方式来通过 thrift 及其 IDL 定义端点。使用这个 IDL,我们可以定义一个自定义端点,并通过 scooge 或任何代码生成工具,可以毫不费力地获得服务。此外,还创建了一个连接到此服务的客户端,并自动解决了许多常见的客户端问题(重新连接、超时、重试、负载平衡、连接池……)。

相反,Akka 解决了很多并发问题,并且它的扩展性非常好,没有手动控制线程的所有复杂性。

总而言之,为什么不一起使用它们呢?:

  • Finagle + Thrift(及其 IDL):它促进了服务设计和开发以及部署(包括易于横向扩展)。
  • Akka:它通过其 Actor 系统使用所有服务器功能,并且如果我更改服务器属性(例如,如果它部署在 EC2 上并且我将我的节点从 m1.small 转换为 m1.large),它的扩展性非常好。

你怎么看?

注意:假设映射 Futures 和 Promises 的问题已经解决,以及 FuturePools 和 ExecutionContexts 之间的不匹配问题。该模式是将 Finagle 转换为使用 Futures 的 scala 方式。

0 投票
2 回答
317 浏览

finagle - 服务器 .codec(Http()) 未按示例代码中的指定工作

我正在尝试第一次尝试 Finagle。我是 Scala 新手,所以这个问题对你们中的许多人来说似乎很容易。

我从 GitHub 中提取了 6.10.1-SNAPSHOT,并尝试实现文档中显示的 Robust Server 示例。进口对我来说并不完全清楚,我让他们都工作,除了一个。请注意,在下面的代码中,有一个导入有错误,还有一个对 Http() 的调用也有错误。

导入 com.twitter.finagle.http.Http

0 投票
1 回答
1904 浏览

scala - 如何“包含”来自不同模块的 Thrift 文件?

场景:一个有多个子项目的大项目,SBT 构建定义。

正确的方法是include SomeModel.thrift什么SomeService.thrift

0 投票
1 回答
745 浏览

scala - 安装 twitter zipkin 时出现问题

我正在尝试安装zipkin,按照给出的步骤(https://github.com/twitter/zipkin/blob/master/doc/install.md),当我http://localhost:8080/在网络浏览器上访问时,而不是 zipkin UI,它给,

并在查询终端上报错。

谁能帮我解决这个问题?

0 投票
1 回答
414 浏览

thrift - 使用 Finagle 在 Thrift 中直接使用 ByteBuffers

我们目前为我们的 RPC 使用节俭服务器。我们希望支持的调用之一是将读取文件的结果返回到直接的 ByteBuffer 中。THRIFT-883 说这不受支持(因为不支持 ByteBuffer.array()),所以想知道如果我们切换到 finagle 是否可以支持直接 ByteBuffers?

finagle 是否克服了这个限制,还是它也面临这个限制?

示例代码:

节约

爪哇

0 投票
3 回答
13970 浏览

scala - Is there a simple way to specify a global dependency exclude in SBT

How would you exclude a transitive dependency globally? My project depends on a lot of the Twitter libraries or on libraries that depend on the Twitter libraries. I don't want slf4j-jdk14 in my classpath, no matter what (I use logback as slf4j binding).

Currently I do this:

but every time someone adds another dependency that uses slf4j-jdk14 I might get it back into the classpath.

0 投票
2 回答
2270 浏览

scala - Twitter Finagle 客户端:如何进行外部 REST api 调用?

我正在尝试在我的 finagle 代码中发出一个外部(到 finagle 服务器)REST GET 请求,URI 是:http ://service.site-dev.com/subservices/list

我正在使用示例中的客户端代码:https ://twitter.github.io/scala_school/finagle.html#client

我的代码(用 Scala 编写)如下所示,但即使我设置了超时限制,它也会挂起:

我怀疑我的主机参数是错误的?但是我想在里面放什么,这是对外部 REST 服务的调用?

0 投票
2 回答
1882 浏览

java - java facebook-swift、thrift 用法示例

我一直在网上寻找一个如何在 java 中使用 facebook-swift 的例子,但找不到任何东西。

没有人有例子可以分享吗?

0 投票
1 回答
361 浏览

scala - 在 Twitter Finagle 中是客户端线程安全的

Twitter Finagle 中的客户端是线程安全的吗?我不想在每个 RPC 函数中调用 newClient (我认为它会与目标端建立新连接,是吗?)所以似乎重用同一个客户端对象是一个不错的选择。但是,因为 RPC 函数可能同时被 diff 线程调用,使用同一个 Finagle 客户端对象是否安全?