Назад | Перейти на главную страницу

Как реплицировать HTTP-трафик на промежуточный сервер?

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

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

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

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