问题标签 [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 投票
0 回答
496 浏览

scala - 如何在 Scala 中启动节俭服务器?

我有一个在 scala 中实现的节俭服务,我想提供服务。我正在为服务器使用带有 finagle 的 scrooge。它似乎运行良好,但是,每当我尝试连接客户端并实际执行 RPC 时,客户端和服务器似乎什么都不做。我的客户端是用 python 编写的,我使用的是 thriftpy。这就是我目前在 scala 中启动服务器的方式:

编辑

在玩了一些之后,我让 finagle 客户端做一个 RPC。但是,我无法将我的 Finagle 客户端连接到 python 服务器。这是我的 python 服务器抛出的错误:

0 投票
2 回答
5333 浏览

scala - Twitter Future 与 Scala Future 相比有哪些优势?

我知道 Scala Future 变得更好的很多原因。有什么理由改用 Twitter Future 吗?除了 Finagle 使用它的事实。

0 投票
0 回答
652 浏览

scala - 是否可以在主服务端口上公开 Twitter 的 Finatra 管理页面(端口 9990)?

我们正在使用 Twitter 的 Finatra 开发一项服务。主要的 Web 服务暴露在 8080 端口(使用override def defaultFinatraHttpPort = ":8080")。Finatra 在端口 9000 上自动公开 Finagle 的 Http Admin 接口。是否可以指示它/admin/*在主应用程序端口(即 8080)上公开端点?

我已经尝试覆盖 ' adminPort' var,但是 Finatra 将尝试在该端口上创建另一个 Http 侦听器,这将失败,因为已经创建了一个。我要做的是将管理控制器链接到主 Http 侦听器,以便可以从一个单一的 http 端口访问所有内容。

0 投票
1 回答
795 浏览

scala - 在 Finagle 中的服务后应用过滤器

我可以通过在HTTP 服务之前添加过滤器来应用所有类型的传入 HTTP 请求的预处理,filter1 andThen httpService

问题是,我想将标头添加到响应中。是否有售后服务过滤器?你真的做不到service andThen service

0 投票
1 回答
356 浏览

scala - 我可以在服务器端为 finagle-thrift 应用过滤器吗?

我正在尝试编写一个在服务器中应用过滤器的 finagle-thrift 服务。

finagle-thrift 从您实现的 thrift IDL 生成一个服务接口 (Iface),然后传递给该Thrift.serveIface(addr, Iface)方法。还有另一种方法Thrift.serve(addr, Service[Req, Rep])可用于提供更通用的服务。可以组合服务,所以我想做类似的事情,Thrift.service(addr, myFilter andThen myService)但我不知道如何将 Iface 转换为服务。

Thrift.serveIface方法使用了一个私有方法,该方法serverFromIface执行 Iface 到服务的转换,这将允许我在将服务传递给Thrift.serve. 见:https ://github.com/twitter/finagle/blob/master/finagle-thrift/src/main/scala/com/twitter/finagle/rich.scala

由于该转换是私有的,我不知道应该如何在服务器中应用过滤器。

0 投票
1 回答
589 浏览

scala - Scala Future 和 ExecutionContext 是否有 com.twitter.util.Local?

通过 Future.map/Future.flatMap 保持其值的类 ThreadLocal 类对于跟踪请求非常有用,例如,用于日志记录。

Scala 库中是否存在作为此类 Local 的抽象?

有没有办法将这样的 Local 附加到 ExecutionContext.global?

0 投票
1 回答
825 浏览

scala - 如何将 Future[Seq[A]] 转换为包含 Seq[A] 的 Future?

我正在开发一个 Finatra 应用程序,我有一个Future[Seq[A]](来自 Finagle 电话)。但是,我需要将其转换为包含的新对象,Seq[A]例如

这将导致Future[Container].

虽然我可以在 上执行地图Future[Seq[A]],但尚不清楚如何到达Future[Container[Seq[A]]

0 投票
1 回答
113 浏览

scala - 如何在 Finagle RPC 系统中使用 Filter 和 Service?

我正在学习 twitter 的 RPC 异步系统,使用过滤器和服务处理逻辑任务很重要。我已经阅读了https://twitter.github.io/finagle/guide/ServicesAndFilters.html的论文并尝试编写一个简单的代码来制作真的,我知道。但是有一些问题:

结果有两个编译错误:value 和Then 不是DoubleFilter 的成员!
我想念什么明白吗?我直认为医生忽略了一些东西,但我误导了。

0 投票
2 回答
1263 浏览

scala - 如何关闭 Finagle Thrift 客户端?

我正在使用 scrooge + thrift 来生成我的服务器和客户端代码。到目前为止一切正常。

这是我如何使用客户端的简化示例:

一切正常,但是当程序退出时服务器会抱怨未关闭的连接。我已经查看了所有内容,但似乎无法弄清楚如何关闭client实例。

所以我的问题是,你如何关闭 Finagle 节俭客户端?我觉得我错过了一些明显的东西。

0 投票
1 回答
898 浏览

scala - 如何让这个 finagle 示例工作?

我一直在看一些finagle教程。我为一个简单的服务器找到了这段代码,但我无法让它工作。是否应该使用类型指定服务以便可以找到服务的类型?

代码:

错误:

链接:https ://twitter.github.io/finagle/docs/#com.twitter.finagle.package

链接到我的评论中提到的 scala 学校代码:https ://twitter.github.io/scala_school/finagle.html#server

这是我的 build.sbt: