问题标签 [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.
scala - 如何在 Scala 中启动节俭服务器?
我有一个在 scala 中实现的节俭服务,我想提供服务。我正在为服务器使用带有 finagle 的 scrooge。它似乎运行良好,但是,每当我尝试连接客户端并实际执行 RPC 时,客户端和服务器似乎什么都不做。我的客户端是用 python 编写的,我使用的是 thriftpy。这就是我目前在 scala 中启动服务器的方式:
编辑
在玩了一些之后,我让 finagle 客户端做一个 RPC。但是,我无法将我的 Finagle 客户端连接到 python 服务器。这是我的 python 服务器抛出的错误:
scala - Twitter Future 与 Scala Future 相比有哪些优势?
我知道 Scala Future 变得更好的很多原因。有什么理由改用 Twitter Future 吗?除了 Finagle 使用它的事实。
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 端口访问所有内容。
scala - 在 Finagle 中的服务后应用过滤器
我可以通过在HTTP 服务之前添加过滤器来应用所有类型的传入 HTTP 请求的预处理,filter1 andThen httpService
即
问题是,我想将标头添加到响应中。是否有售后服务过滤器?你真的做不到service andThen service
。
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
由于该转换是私有的,我不知道应该如何在服务器中应用过滤器。
scala - Scala Future 和 ExecutionContext 是否有 com.twitter.util.Local?
通过 Future.map/Future.flatMap 保持其值的类 ThreadLocal 类对于跟踪请求非常有用,例如,用于日志记录。
Scala 库中是否存在作为此类 Local 的抽象?
有没有办法将这样的 Local 附加到 ExecutionContext.global?
scala - 如何将 Future[Seq[A]] 转换为包含 Seq[A] 的 Future?
我正在开发一个 Finatra 应用程序,我有一个Future[Seq[A]]
(来自 Finagle 电话)。但是,我需要将其转换为包含的新对象,Seq[A]
例如
这将导致Future[Container]
.
虽然我可以在 上执行地图Future[Seq[A]]
,但尚不清楚如何到达Future[Container[Seq[A]]
。
scala - 如何在 Finagle RPC 系统中使用 Filter 和 Service?
我正在学习 twitter 的 RPC 异步系统,使用过滤器和服务处理逻辑任务很重要。我已经阅读了https://twitter.github.io/finagle/guide/ServicesAndFilters.html的论文并尝试编写一个简单的代码来制作真的,我知道。但是有一些问题:
结果有两个编译错误:value 和Then 不是DoubleFilter 的成员!
我想念什么明白吗?我直认为医生忽略了一些东西,但我误导了。
scala - 如何关闭 Finagle Thrift 客户端?
我正在使用 scrooge + thrift 来生成我的服务器和客户端代码。到目前为止一切正常。
这是我如何使用客户端的简化示例:
一切正常,但是当程序退出时服务器会抱怨未关闭的连接。我已经查看了所有内容,但似乎无法弄清楚如何关闭client
实例。
所以我的问题是,你如何关闭 Finagle 节俭客户端?我觉得我错过了一些明显的东西。
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: