小编The*_*ude的帖子

Prometheus metrics vs micrometer metrics (Spring 2)

我正在使用普罗米修斯来监视一些开箱即用和一些自定义应用程序指标。对于自定义指标,我没有使用 Prometheus 客户端库,而是使用io.micrometer自定义计数器和仪表的包。

我创建的自定义指标在普罗米修斯端点中仍然可见(http://localhost:9090/actuator/prometheus)。既然如此,为什么我们还需要 Prometheus 客户端库呢?我应该使用其中一种还是两者混合使用?他们似乎使用不同类型的注册表,这使得无法将它们组合起来。

metrics spring-boot prometheus

4
推荐指数
1
解决办法
3218
查看次数

过滤一组Either[x, y],记录

给定 a Set[Either[BadObject, GoodObject]],我想将其转换为 a Set[GoodObject],同时记录所有BadObjects.

我遇到的问题是,当我尝试在collect呼叫中添加日志记录时,例如:

someMethodThatReurnsTheSet.collect {
  case Right(value) => value
  case Left(res) => logger.warn(s"Bad object : $res")
}
Run Code Online (Sandbox Code Playgroud)

这改变了返回值,我得到了一个Set[None],这不是我想要的。

functional-programming scala either

4
推荐指数
3
解决办法
91
查看次数

Elasticsearch 乐观锁

我有一个在不同线程上接收事件的应用程序,每个事件都被处理,格式化为不同的属性,并保存到 ElasticSearch 中。当特定属性值首次出现在任何事件上时,我想在我的数据库中添加一个新条目(每个事件读取所有以前的事件并验证该值尚未出现)。由于应用程序的多线程特性,我需要某种方式来验证我是否在第一次遇到该属性时添加了条目,并且只添加了一次。我想到的最佳解决方案是某种乐观锁定(确保在我提交之前没有其他线程为此属性添加了条目)。对此是否有任何 ElasticSearch 支持?

java multithreading elasticsearch

2
推荐指数
1
解决办法
3092
查看次数

Scala - 函数定义和没有参数的函数文字之间的区别

scala> def nextOption = if (util.Random.nextInt > 0) Some(1) else None
nextOption: Option[Int]

scala> nextOption
res1: Option[Int] = Some(1)

scala> nextOption
res3: Option[Int] = None
Run Code Online (Sandbox Code Playgroud)

尝试学习scala,上面执行的代码有几个问题:
1. nextOption 定义的正确部分是否考虑了函数字面量?
2. 如果它是使用 'val' 关键字而不是 'def' 定义的,那会改变吗?
3. 为什么 nextOption 类型是 Option[Int] 而不是函数?( ()=>Option[Int] )
4. 给这段代码添加括号或括号会改变它的类型/值吗?
5. nextOption 和类似 '() => if (......) some(1) Else None' 有什么区别

scala

1
推荐指数
1
解决办法
94
查看次数

我可以用什么来更好地编写这个 Scala 代码?

functionThatReturnsATry[Boolean]() match {
      case Success(value) =>
        value match {
          case true => somethingThatReturnsFuture[Unit]
          case false =>
            Failure(new SomeException("This failed here"))
        }
      case Failure(exception) => Failure(exception)
    }
Run Code Online (Sandbox Code Playgroud)

functionThatReturnsATry成功完成后,代码将返回 Future[Unit]并返回 true。
如果functionThatReturnsATry失败,我想将失败传递到链条上。
如果functionThatReturnsATry返回 false,我想在链上传递一个新的特定失败

scala

1
推荐指数
1
解决办法
80
查看次数