управляемый компонент Socket-сервера - PullRequest
0 голосов
/ 24 марта 2012

Нам необходимо разработать решение с высокой продажностью, которое обрабатывает 8000 одновременных сокетных соединений (от терминалов торговых точек) и около 1 млн сообщений в день.Бизнес-логика для обработки сообщений уже разработана.

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

Кроме того, существуют ли какие-либо сторонние серверные элементы управления, которые могут удовлетворить эти требования?Я посмотрел и нашел ServerFramework http://www.serverframework.com/ и SocketWrench http://www.catalyst.com/products/socketwrench/, но хотел бы знать, кто-нибудь использовал эти компоненты (или другие)?

Большое спасибо за вашу помощь

1 Ответ

1 голос
/ 24 марта 2012

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

1M сообщений в день также не так уж много.Я могу обработать 10-100 Кбит / с по TCP на моем настольном компьютере, так что вы видите, что сами сообщения не вызовут большой нагрузки.Это бизнес-логика, которая будет вызывать нагрузку.

Для этого вам обязательно нужно использовать асинхронный ввод-вывод.8000 потоков было бы слишком много.Если вы на самом деле используете асинхронный ввод-вывод и работаете с вашими буферами и тому подобным, я бы не предвидел многих проблем вообще.

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