|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
Здравствуйте. Надо писать на C# приложение, работающее с биржей. Отображающее клиенту в режиме реального времени (или как можно ближе к этому) котировки. И максимально быстро обрабатывающее запросы на покупку, продажу. При условии, что одновременно в приложении могут сидеть скажем 1000 пользователей. Подскажите пожалуйста, правильно ли понимаю, что использовать для этого решения на основе HTTP скорее всего не получится, будет слишком высокая задержка? То есть ASP.NET, WCF отпадают? Можно использовать WebSocket, или писать просто свой сокет-сервер? Может быть есть какие-то устоявшиеся подходы для этого в мире .NET, инструменты, фреймворки? Дайте пожалуйста направление, куда копать ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 16:12 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
Вообще, такие вещи даже и на C# не пишут ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 16:23 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
Shocker.ProВообще, такие вещи даже и на C# не пишут Почему не пишут? Пишут. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 16:24 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
redkij, Вебсокет не отменяет сетевые задержки, но да, в реальном времени других альтернатив мало. Подходы? Ну как, писать в ключе оптимизации и масштабирования. Далее надо исходить из конкретных задач, нагрузочного тестирования, реальных требований. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 16:26 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
hVosttПочему не пишут? Пишут.Борясь со сборщиком мусора? Или используя нативные компоненты? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 16:31 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
hVostt Спасибо. А вот... использовать поддержку веб-сокетов в ASP.NET (если правильно понимаю, она есть) - это в производительности сильно проиграет какому-то самописному сокет-серверу, если его прям с нуля писать? И, допустим, в Java есть Netty. Для написания TCP и UDP серверов. А в .NET что-то такое есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 17:02 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
hVosttнадо исходить из конкретных задач, нагрузочного тестирования, реальных требований. Просто никогда раньше проектов не начинал с нуля, и потому не понимаю. Вы имеете ввиду, сделать прототипы на всех возможных альтернативных подходах (веб-сокеты в ASP.NET, самописный сокет-сервер, что-то еще...), и затем их тестировать под нагрузкой, выясняя, что даст приемлемую производительность? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 17:16 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
Shocker.ProВообще, такие вещи даже и на C# не пишут когда то давно я читал блог прогера что бота для биржи пилил, как он ухищрался с выбором данных, как боролся с GC и прочее. но в целом работало и приносило денег. с кор нетом уже дела то получше со скоростью судя по тестам ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 19:13 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
redkijПросто никогда раньше проектов не начинал с нуля,вы просто планов громадье не стройте, если что то приснилось, и вы ни разу код не писали. Если ASP, то опрашивая сервер каждые пару сек вы раз в две сек увидите свежие данные. Если нужно сразу на клиента, то веб сокет. Если пишите первый раз, то самому писать сервер категорически противопоказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 20:01 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
Petro123 просто планов громадье не стройте, если что то приснилось, и вы ни разу код не писали. Petro123Если пишите первый раз, то самому писать сервер категорически противопоказано. Не. код-то я конечно писал. Конкретно на шарпе уж лет пять. Просто именно с нуля серьезные проекты не начинал никогда. И в бэкенд разработке я недавно. Примера какого-нибудь хорошего самописного сокет-сервера не видел (если тут вообще нужен именно самописный). Имею определенный опыт с ASP.NET Web API, да и все ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 20:33 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
redkijсерьезные проекты не начиналну дак делайте. hVostt написал, нагрузочное тестирование. Задайте 1000 клиентов и тестируйте. Прежде чем велосипеды писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2019, 21:48 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
Shocker.ProhVosttПочему не пишут? Пишут.Борясь со сборщиком мусора? Или используя нативные компоненты? Эм.. зачем с ним бороться? )) Как будто, без сборщика мусора будет проще или быстрее. Нет, конечно же. Не будет. И в C# можно переиспользовать выделенную память, есть различные приёмы и оптимизация. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 01:33 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
redkij hVostt Спасибо. А вот... использовать поддержку веб-сокетов в ASP.NET (если правильно понимаю, она есть) - это в производительности сильно проиграет какому-то самописному сокет-серверу, если его прям с нуля писать? И, допустим, в Java есть Netty. Для написания TCP и UDP серверов. А в .NET что-то такое есть? Есть, называется SignalR. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 01:34 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
hVosttredkij hVostt Спасибо. А вот... использовать поддержку веб-сокетов в ASP.NET (если правильно понимаю, она есть) - это в производительности сильно проиграет какому-то самописному сокет-серверу, если его прям с нуля писать? И, допустим, в Java есть Netty. Для написания TCP и UDP серверов. А в .NET что-то такое есть? Есть, называется SignalR. SignalR - для старого .NET, но я бы рекомендовал делать на .NET CORE, там встроенная поддержка сокетов. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-2.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 13:47 |
|
Финансовое приложение, low latency, сокеты?
|
|||
---|---|---|---|
#18+
SeneguraSignalR - для старого .NET, но я бы рекомендовал делать на .NET CORE, там встроенная поддержка сокетов. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-2.2 Серьёзно? https://docs.microsoft.com/ru-ru/aspnet/core/signalr/introduction?view=aspnetcore-2.2 )) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 14:28 |
|
|
start [/forum/topic.php?fid=18&msg=39765288&tid=1355049]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 252ms |
0 / 0 |