Gattle 具有 GRPC 设置、指南等?

问题描述 投票:0回答:1

希望你今天过得愉快。

我是 Gattle 和 GRPC 的新用户,正在尝试设置一个演示来进行调查。

首先,这是我对 akka-grpc build.sbt 文件的设置:

name := "akka-grpc-quickstart-scala"

version := "1.0"

scalaVersion := "2.13.4"

lazy val akkaVersion = "2.8.4"
lazy val akkaHttpVersion = "10.5.2"
lazy val akkaGrpcVersion = "2.3.4"

enablePlugins(AkkaGrpcPlugin)

fork := true

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
  "com.typesafe.akka" %% "akka-http2-support" % akkaHttpVersion,
  "com.typesafe.akka" %% "akka-actor-typed" % akkaVersion,
  "com.typesafe.akka" %% "akka-stream" % akkaVersion,
  "com.typesafe.akka" %% "akka-discovery" % akkaVersion,
  "com.typesafe.akka" %% "akka-pki" % akkaVersion,

  // The Akka HTTP overwrites are required because Akka-gRPC depends on 10.1.x
  "com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
  "com.typesafe.akka" %% "akka-http2-support" % akkaHttpVersion,

  "ch.qos.logback" % "logback-classic" % "1.2.3",

  "com.typesafe.akka" %% "akka-actor-testkit-typed" % akkaVersion % Test,
  "com.typesafe.akka" %% "akka-stream-testkit" % akkaVersion % Test,
  "org.scalatest" %% "scalatest" % "3.1.1" % Test
)

enablePlugins(GatlingPlugin)
libraryDependencies += "io.gatling.highcharts" % "gatling-charts-highcharts" % "3.9.5" % "test"
libraryDependencies += "io.gatling"            % "gatling-test-framework"    % "3.9.5" % "test"
libraryDependencies ++= Seq(
  "io.gatling.highcharts" % "gatling-charts-highcharts" % "3.9.5" % "test",
  "io.gatling" % "gatling-test-framework" % "3.9.5" % "test",
  "com.github.phisgr" % "gatling-grpc" % "0.16.0" % "test"
)

然后我把它放在我的plugins.sbt中

addSbtPlugin("com.lightbend.akka.grpc" % "sbt-akka-grpc" % "2.3.4")

addSbtPlugin("com.lightbend.sbt" % "sbt-javaagent" % "0.1.5")

addSbtPlugin("io.gatling" % "gatling-sbt" % "4.5.0")

所以我在设置过程中遇到了 3 个问题:

1/ 当我运行“sbtcompile”时,项目将显示 .proto 文件,但它不在 src/main/ 或 src/test/ 目录中,我必须将文件复制并粘贴到其中。这是 sbt 的正确行为吗?

2/ 我尝试在集线器上运行 phisGr 的代码,但是该项目位于 IntelliJ IDE 中(目前我使用 VSCode 并且无法更改它),所以我想请求一个简单的加特林脚本,与 akka-grpc 演示一起运行(grpc 演示运行良好 - 只需要加特林实现示例)。

3/ GRPC - Gattle 会有更新或更多文档吗?因为网上的资料不多。目前的内容缺乏很多信息。

感谢您的阅读。

尝试了很多例子。

scala sbt gatling
1个回答
0
投票

当我运行“sbtcompile”时,项目将显示 .proto 文件,但它不在 src/main/ 或 src/test/ 目录中,我必须将文件复制并粘贴到其中。这是 sbt 的正确行为吗?

从你的描述中我无法判断哪个文件位于哪个目录中。我的猜测是您正在谈论生成的 Scala 代码。它们是

.proto
文件的编译结果,因此它们位于
target
目录中。
sbt 应该可以毫无问题地将它们编译为
.class
es。 您的 IDE 是否足够智能来索引生成的源代码是另一回事。

我尝试在集线器上运行 phisGr 的代码,但是该项目位于 IntelliJ IDE 中(目前我使用的是 VSCode 并且无法更改它),所以我想请求一个简单的 Gattle 脚本,其中包含akka-grpc 演示运行(grpc 演示运行良好 - 只需要加特林实现示例)。

使用 IntelliJ 开发的库与您如何使用它无关。如果需要,您可以不使用 IDE,而使用简单的文本编辑器并从命令行运行

sbt

这是 Gadling-gRPC 的演示;
https://github.com/phiSgr/gadling-grpc-sbt-demo

这是在 Akka gRPC 服务器上使用 Gadling-gRPC 的演练,可以在 google 上轻松找到。
https://alexromanov.github.io/2021/08/23/gadling-grpc/


如果你不熟悉 sbt,为什么选择 Scala 的东西?您可以将 Gattle 和 gPRC 与 Gradle/Maven 和 Java/Kotlin 结合使用。

© www.soinside.com 2019 - 2024. All rights reserved.