Предполагая стандартный контейнер сервлетов Jetty, каков эффект (на сервере или на клиенте) отправки большого набора двоичных (строковых) данных через RPC?

В частности, поскольку кажется, что GWT RPC не поддерживает потоковую передачу, я обеспокоен тем, что могут произойти две вещи:

  1. Большое потребление памяти на стороне сервера, так как двоичные данные загружаются в память класса RPC.
  2. Медленная сериализация или десериализация.

Если предположить, что все это правда, какие у меня варианты? Я пытаюсь создать единый API, поэтому мне не нужно говорить разработчику: «О, в этом случае, вручную создайте запрос REST для получения данных».

0
Casey Jordan 2 Апр 2013 в 01:27

1 ответ

Лучший ответ

Если вам нужно передать действительно большой объем двоичных данных, GWT-RPC - плохой выбор (все проблемы, которые вы указали, являются правильными). Но если вам нужен единый API на стороне клиента, не говоря разработчику просто использовать необработанный HTTP для получения данных, вам придется предоставить клиентскую реализацию для своей бинарной службы.

0
jusio 2 Апр 2013 в 01:43
Спасибо. Я думаю, что я просто задокументирую, что разработчики должны использовать RequestBuilder и REST API для подобных вещей. По крайней мере, так я знаю, что все будет транслироваться эффективно, и никто не может злоупотреблять этим. Ваше здоровье!
 – 
Casey Jordan
2 Апр 2013 в 05:30