Есть несколько слоев, на которых вы можете смоделировать это. Проще всего было бы, если бы два ваших сервера прослушивали два разных TCP-порта. В этом случае вы можете запустить два прокси-сервера tcp и остановить / приостановить один, когда вы хотите симулировать сбой. Для Windows я бы предложил использовать tcpTrace для этого.
Другой вариант - привязать два сервера к двум виртуальным сетевым картам, которые соединены с физическим сетевым адаптером. Конечно, если у вас есть две физические NIC, вы можете привязать каждый процесс сервера к отдельной физической NIC.
На более низком уровне вы можете запустить симулятор WAN. Большинство симуляторов позволяют ослаблять определенные типы трафика или определенные порты. Одним из таких симуляторов является Packetstorm .
Еще один метод, который я бы предложил, это присоединить отладчик к одному процессу и остановить все потоки в процессе с помощью отладчика. Часто процесс не умирает, но застревает в сборке мусора или в цикле. Поскольку сокеты не закрываются, многие решения «высокой доступности» не будут автоматически переключаться при сбое.