ptrdom commented on issue #350: URL: https://github.com/apache/pekko-projection/issues/350#issuecomment-3576167256
> Interesting - gRPC seemed like a natural choice due to the first-class streaming, but curious what you come up with. Since Akka/Pekko gRPC implementation is based on Akka HTTP, everything that allows it to provide first-class streaming is already present in HTTP, so the implementation could as well just provide a more generic HTTP/REST-enabled API instead of limiting the users to only gRPC, at least that is my thinking. I guess it is nice that gRPC has streams as a concept in the schema definition, but I do not see how it critically matters in the case of projections - users do not directly interact with the gRPC schema. Even in the case of HTTP/REST-enabled implementation, users should not directly interact with HTTP/REST protocol-level implementation details. Overall it would be nice to come up with a service-to-service communication algebra, then provide interpreters that users can choose based on their needs. > HTTP/REST-based is bad, we actually implement MCP transport with grpc and hsf at work, why can't we implement the same sbt plugin for grpc-projection? Bad is a rather strong word, maybe it would be better to specify that it has non-ideal performance, but this is already a problem in Akka/Pekko gRPC - as far as I can see there is nothing special performance-wise in Akka/Pekko gRPC implementation, it uses Akka/Pekko HTTP `HttpEntity.Chunked`, so HTTP/1.1 chunked transfer encoding. Now if we wanted to improve that I am sure there are various options with their own pros/cons that an implementor can explore. > https://mvnrepository.com/artifact/com.lightbend.akka/akka-projection-grpc_3/1.4.2 does not appear to have any dependencies on Akka libs that we won't be able to find Pekko equivalents of. Aha, I think I incorrectly thought that the dependency is on a library, where it actually is on codegen for sources, but we do seem to have codegen in Pekko too - https://pekko.apache.org/docs/pekko-grpc/current/buildtools/sbt.html. So we should be fine to implement gRPC projection for Pekko. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
