Эффективна ли пружина rsocket? - PullRequest
1 голос
/ 03 мая 2020

Мы знаем, что преимущество реактивного программирования (и, следовательно, spring-webflux) заключается в том, что для обработки нескольких клиентских запросов используется только один поток.

Вместо этого я хочу использовать реактивное программирование с веб-сокетами. из событий SSE, так что я обнаружил, что Spring-boot-rsocket может быть то, что я ищу.

Это работает, но теперь мне интересно, что происходит под капотом: если больше клиентов подключаются к моему серверу веб-сокетов, то только один поток обрабатывает подписки? Или я возвращаюсь к нескольким потокам?

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

На самом деле, предположим, что в моей производственной системе я знаю, что могу позволить себе максимальное количество x потоков, скажем, 200 для объяснения. Если каждый запрос на подписку находится в потоке, и у меня одновременно подключено 200 клиентов, это означает, что насыщение потока будет достигнуто!

...