Должен ли я сжимать данные, предоставляемые через службу wcf? - PullRequest
1 голос
/ 21 декабря 2010

Я создаю сервис WCF, который предоставляет граф объектов, размер которого, как ожидается, будет увеличиваться, пока служба запущена и работает. Играя с некоторыми тестовыми данными (85 КБ), меньшими, чем можно было ожидать, когда я живу, я достиг предела размера сообщения по умолчанию 65 КБ. Быстрый просмотр сети показал, что это было достаточно просто расширить в конфиге.

Поскольку я создаю службу и клиент, который ее использует, я подумал, есть ли дополнительная ценность в сжатии данных перед их отправкой. После короткого теста данные теста сократились примерно до 7 Кб, так что похоже, что это поможет во время отправки сообщения по проводам и увеличит объем данных, которые я могу отправить.

Служба предварительно подготавливает данные до того, как будет сделан первый вызов, и поэтому при каждом вызове нет никаких начальных издержек из-за сжатия.

Это хорошая идея сделать это ради масштабируемости и попытаться оптимизировать производительность, или это добавляет сложности, где это не нужно?

Ответы [ 3 ]

1 голос
/ 21 декабря 2010

Читая ваш пост, кажется, что вы смогли реализовать это сжатие довольно легко.

Если вы контролируете обе стороны, добавление слоя сжатия / распаковки на самом деле не увеличивает сложность для общих сценариев, когда вы получаете большую выгоду от пропускной способности.

Что вы можете сделать, чтобы минимизировать сложность, внедрив некоторые шаблоны, такие как Interceptor или Decorator.

1 голос
/ 21 декабря 2010

Пока вы не используете неясный формат сжатия, я не думаю, что вы добавляете сколько-нибудь заметную сложность.Одна или две строки кода.Возможно, вы могли бы добавить параметр к служебному вызову, который позволит клиенту выбирать сжатые или несжатые данные.

0 голосов
/ 10 февраля 2011

Не могли бы вы все быть более конкретными, что мне нужно сделать, чтобы успешно шифровать, сжимать, дешифровать и распаковывать данные на обоих концах?Какое сжатие Algo лучше всего подходит для сжатия больших данных, требующих меньше времени для сжатия и распаковки, а также сжатия и распаковки небольших данных для эффективной передачи данных между клиентом и сервером.

@ дециклон: что такое перехватчик или декоратор?Пожалуйста, будьте конкретны и понятны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...