grpc / grpc/grpc-java

Consider configuring `ProtoReflectionService` to use it without internal APIs

Abierto
#7,138 5 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Java
Estrellas
12.1k
Forks
4k
Merge medio
2 d 17 h
PR fusionados (30 d)
37

Descripción

Due to the popularity of gRPC, some frameworks or libraries have an integration layer for gRPC.
* Armeria: https://line.github.io/armeria/docs/server-grpc
* Heldion: https://helidon.io/docs/v2/#/se/grpc/01_introduction
* Micronaut: https://micronaut-projects.github.io/micronaut-grpc/latest/guide/index.html

Especially, Armeria has its own server/client implementations to serve/call a gRPC stub.
`ProtoReflectionService` is using the internal reference of a gRPC-Java server instance since 1.30.0 #6967.
That means a stub running without gRPC-Java server could not use `ProtoReflectionService`. https://github.com/line/armeria/issues/2806

Armeria injects `ServerServiceDefinition`s to `ProtoReflectionService` using `notifyOnBuild()` hook.
https://github.com/line/armeria/blob/armeria-0.99.6/grpc/src/main/java/com/linecorp/armeria/server/grpc/FramedGrpcService.java#L271-L275
If `ProtoReflectionService` supports better ways to build `ProtoReflectionService`,
it could be a good extension point for gRPC-Java ecosystem.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza leyendo ProtoReflectionService y la integración de FramedGrpcService enlazada en el issue, incluido su uso de notifyOnBuild(). Determina un punto de extensión que evite depender de una instancia interna del servidor gRPC-Java y que acepte ServerServiceDefinitions. Se considera terminado cuando una implementación de servidor que no sea gRPC-Java puede usar ProtoReflectionService.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
grpc, java
Área
api, backend
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.