+ sanic + websocket
Родные средства кластеризации (fork) не очень хороши ( высокая загрузка главного процесса вызывает общее замедление)
Хочу запустить их через балансировщик без форков( один контейнер - одно ядро, а зонтиком - балансировщик).
Поделитесь опытом:
* как у вас.
* какой БН - haproxy ?
* Может можно что-то подкрутить, чтобы оно работало без БН ? (базовые sysctl, конечно, подкрутил)
P.S> по моим тестам, async-приложения очень не любят конкурентные запросы.
Было бы здорово на БН лимитировать число одновременных(конкурентных) запросов.
Без бплансировщика бред делать инфру У меня бэкед из нескольких слоев из нод по 4 ноды в"слое". Вход за cdn через nginx который разруливает на среду в зависимости от префикса. Число конкурентных к чему? К базе? Деллоки?
эта проблема запросто решается масштабированием в рамках k8s
Балансировка нужна в любом случае для отказоустойчивости. Можешь средствами dns сделать, самый простой вид балансировки. Ограничить по запросу на бэкенд можно, но тогда нужно ещё очередь запросов делать.
Для ноды, если задача только распараллелить запросы по процессам на ядрах - pm2 использую, например.
Обсуждают сегодня