2016-08-30 3 views
1

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

enter image description here

+1

Что вы собираетесь кэшировать? –

+0

Хороший вопрос ... Но я действительно не знаю, что они действительно хотят кэшировать. – Adelin

+1

Вы даже знаете, являются ли ответы с этих серверов приложений даже кэшируемыми? Например. если нет заголовка ETag или Expires, тогда кеш может просто мешать, или, что еще хуже, вы начинаете иметь дело с устаревшими данными. Все сводится к тому, какие данные вы планируете кэшировать с этих серверов, и у них есть большой контроль над этим. – Adrien

ответ

1

Все зависит от проблемы, которую вы должны решить. Если что-то довольно быстро связано с сервером базы данных и сервером приложений, то попытка кэширования в нечто вроде Redis может стоить попробовать. Однако, если сервер находится под большим давлением, может потребоваться кэширование. Например, если мы говорим о новостном сайте с большим количеством длинных статей и множеством комментариев, то, возможно, стоит сгенерировать статические файлы HTML, чтобы уменьшить давление, однако стоимость свежести данных. Например, если я пишу комментарий к вашей статье, и статья кэшируется, и кэш истекает через два дня, я увижу что-то вроде «ваш комментарий ожидает модерации» в течение двух дней, если мое изменение не активирует обновление кеша. Это не лучший вообразимый пользовательский опыт. Но вы можете обновлять кеш всякий раз, когда содержимое было изменено. Кроме того, если вы используете такую ​​систему кеширования, вам нужно отслеживать кешированные элементы индивидуально или небольшими группами, чтобы предотвратить обновление кэша ваших статей, когда только один из них изменился. В этом случае приложение должно инициировать обновление кэша прокси. Но тогда вам придется иметь дело с хактивистами, которые могут знать, что вы используете систему кэширования и генерируете много операций записи для запуска обновления кеша. Желательно, чтобы минимальная настройка срока службы кэша была удовлетворена этой ситуацией. Но тогда вы снова оплачиваете опыт пользователя.

Итак, вопрос ответить:

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

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

+0

Отличный ответ ...! То, что мы пытаемся поймать, - это точные данные, которые я не думаю, что это хорошая идея. – Adelin