问题标签 [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 回答
974 浏览

unit-testing - 单元测试 - 存根或模拟 finagle 客户端

这是我想对不同的 http 响应代码进行单元测试的几行代码。其中之一是代码 201 。请指教

0 投票
1 回答
194 浏览

scala - Finagle 和 Future 中的无限请求序列

我有一个 HTTP API 端点,我需要不断检查新值。幸运的是,它支持长轮询。所以我的想法是我需要实现一个“无限循环”,在那里我发出一个请求,等待一个响应(最多 10 分钟),从响应中获取一些值并通过将它们存储在某个地方产生副作用,发出另一个请求。

鉴于我有一些函数调用将启动这个“无限循环”,我还需要返回一个Closable来满足我正在集成的 Finagle API,以便可以中断该过程。如果 HTTP 请求失败,我需要立即重试。

现在我需要弄清楚如何Future在 Finagle 中使用 s 来实现这一点。我想知道我是否可以通过对响应 Future 应用转换来使用递归?.. 还是我错过了一些东西并且在 Finagle 中有更直接的方法来做到这一点?

谢谢!

0 投票
1 回答
258 浏览

scala - Finagle 堆栈中的 JSON Web 令牌(JWT)实现

我们有针对 finagle 的 jwt 服务吗?

一个示例实现会很棒!

0 投票
1 回答
2003 浏览

scala - 使用 Finagle 重试失败

我正在为 Finagle 客户端重试而苦苦挣扎。由于某种原因,客户端不会在测试中重试失败的请求,即使我使用自定义分类器,它应该将除 200 之外的任何响应代码标记为 RetryableFailure。我已经尝试使用 ClientBuilder 和 Http.client 来构建客户端。

我缩小了我的代码并只测试了必要的部分。

请看一下:

MyApi.scala:

MyApiSpec.scala:

构建.sbt:

0 投票
1 回答
105 浏览

scala - Finagle 使用范围

我是 Twitter Finagle 的新手。我听说 Finagle 对 Scala 中的 RPC 和微服务非常有用。但是 twitter doc 中的几乎所有内容都与异步 http 服务器(通过 netty)有关。解释我使用 Finagle 的范围。

0 投票
1 回答
2743 浏览

scala - 不兼容的 Jackson 版本:sbt 中的 2.7.1?

从 sbt 运行 TwitterServer 时出现此错误:

2.7 Jackson 依赖项正在从其他地方(circe)传递过来。我以为我可以通过这种方式将其覆盖为 2.6.7,但它似乎没有效果:

知道为什么这不会覆盖任何东西吗?

0 投票
2 回答
749 浏览

scala - 从 Finagle 中的同步代码调用异步/未来代码

我正在开发一个 Finagle HTTP 应用程序,其中服务的实现没有利用 Futures 并通过第三方库访问 Redis。此类服务具有以下形式:

(它们比这复杂得多——这里的重点是它们是同步的。)

在某个时候,我们开始使用 Futures 和 Finagle Redis API 开发新服务。Redis 调用封装在 Store 类中。新服务具有以下形式:

(它们比这复杂得多——这里的重点是它们是异步的。)

我们开始重构旧服务以利用异步性和 Futures。我们希望逐步地做到这一点,而不必一次完全重新实现它们。

第一步是尝试使用新的 Store 类,代码如下:

然而,事实证明这是灾难性的,因为在重负载时,对旧服务的请求会停留在 Await.result() 调用中。新的异步服务显示没有问题。

该问题似乎与线程耗尽和/或未来池有关。我们已经找到了几个关于如何使用自定义池(例如FuturePool )从异步调用中进行同步调用(执行 I/O)的解决方案,但不是相反,这是我们的案例。

那么,在 Finagle 中从同步代码调用异步代码(执行 I/O)的推荐方式是什么?

0 投票
1 回答
28 浏览

scala - 覆盖 RootMonitor

我在 Future.respond 中运行了一些代码,由于错误,它会引发 NPE。问题是我的单元测试完全错过了它,并且都愉快地通过了,因为 NPE 被 RootMonitor 吞噬了。

所以,我的问题是,是否有任何方法可以覆盖单元测试的 RootMonitor 行为以导致测试失败而不是吞下异常?

我知道,我可以在响应中捕获异常,但这有点倒退——如果我认为可能存在异常,我会首先修复它。这正是我希望我的测试捕捉到的一种情况。

所以,我正在寻找的是一种为测试全局覆盖 RootMonitor 的方法,或者以某种方式断言它在测试完成后没有处理任何异常。有没有办法做这样的事情?人们通常如何处理这种测试?

0 投票
0 回答
35 浏览

java - 与 Http API 相比,Thrift-Finagle API 的安全性如何?它们的性能如何?

我正在Thrift-FinagleAngularJsWeb 客户端连接到Thrift-Finagle API.

我的问题是:

  • 与 http 相比,这有多安全?
  • 其次,与 http 服务器相比,它可以处理多少个线程?
  • 第三,它是否在使用 Promise 运行整个后端处理时处理传入线程?

请帮助我理解我的这种担忧。想知道更多关于它在生产中的用途真的很困扰我。

0 投票
2 回答
393 浏览

scala - Scala - Finatra - 从标头中读取 IP 地址

我是 Finatra 和 scala 的新手。我需要在发布请求中将 IP 地址与其他数据一起存储。我正在使用自定义案例类: case class MyRequest(name : String, email: String) 如何在此请求中获取 remoteAddress?提前致谢。