TCP Proxy

Сервис TCP Proxy предназначен для повышения надежности работы интернет-сервисов путем распределения нагрузки по нескольким серверам и обеспечения горячего резервирования сервисов. Идея разработки сервера появилась в ходе работ по оптимизации работы SMTP-серверов, которые были перегружены большим количеством спама, и в настоящий момент сервис используется на этой площадке и обеспечивает нормальную работу SMTP-серверов.

Сервис принимает запросы по протоколу TCP на указанном в настройках IP-адресе и порту и перенаправляет полученные запросы на указанные адреса. Если при подключении к какому-либо из адресов происходит ошибка, то сервис перенаправляет запрос на другой адрес.

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

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

В настоящее время сервис используется для распределения нагрузки между SMTP-серверами.

Сервис предназначен для работы под управлением Windows и реализован на платформе .NET Framework. Язык реализации сервиса - C#.

Сетевые коммуникации

Сетевые коммуникации лежат в основе подавляющего большинства современных компьютерных технологий. Web, удаленный доступ к информационным ресурсам, IP-телефония, e-mail, ICQ и Skype, игры и многое-многое другое либо прямо базируется на сетевых технологиях, либо активно использует.

Сетевые технологии стали настолько привычны, что их даже не замечаешь. Но порой все же приходится спускаться на этот "минус первый" этаж здания компьютерных технологии и организовывать маршрутизацию, передачу информации.

Другие проекты