Combinando buffers proto de Google con Jersey / JAX-RS

Actualmente tengo un servicio web RESTful con puntos finales expuestos a través de Jersey / JAX-RS:

@Path("/widgets")
public class WidgetResource {
    @GET
    List<Widget> getAllWidgets() {
        // gets Widgets somehow
    }

    @POST
    Widget save(Widget w) {
        // Save widget and return it
    }
}

Uso Jackson para serializar / deserializar mis POJO en JSON, y mi servicio responde y envía mis POJO comoapplication/json.

Ahora estoy buscando posiblemente usar buffers de protocolo de Google (o una tecnología equivalente) para ayudar a comprimir / optimizar la comunicación entre el cliente y el servicio, ya que JSON / text es bastante voluminoso / derrochador.

En realidad, tengo un gran backend que consiste en una arquitectura de "microservicio"; docenas de servicios REST que se comunican entre sí; Es por eso que estoy buscando optimizar los mensajes enviados de un lado a otro entre todos.

Entonces, pregunto: ¿es posible que Jersey / JAX-RS siga sirviendo mis puntos finales de servicio, pero destripar las cosas de Jackson / JSON y reemplazarlas con buffers de protocolo de Google? Si es así, ¿cómo podría ser este código?

Respuestas a la pregunta(1)

Su respuesta a la pregunta