Если вы нашли инструкцию, но не понимаете как ее доработать, то лучше в это не лезть)
Без хороших знаний в программировании, в том числе тонкий нюансов работы блокчейнов ничего не получится. Либо все это изучать, либо находить совсем решения из коробки.
Плюс нужны мощные серверы и ноды, на это все нужно не мало денег
Основная причина в том, что иногда запросы улетают дольше положенного, и пока не понятно на каком месте они застревают.
Исследовать вот только начал, т.к. набралось данных во время работы и в целом есть объемы на которых можно что-то понять.
Буду пытаться понять, все таки в сети проблема или же где-то не успевает отрабатывать скрипт.
Предположил сеть в первую очередь, т.к. задачи в скриптах простые, в основном получить сообщение, распарсить, и отправить много запросов к стороннему апи.
А можно ли устранить проблемы с сетью с помощью потоков, собственно вопрос и есть.
Я просто не очень силен в ноде. Но дополнительно покопавшись, прочитал, что все таки запросы то и так выполняются многопоточно через libuv (если я неверно понял, пожалуйста, поправьте). Асинхронно выполняются и возвращаются в event loop и там ждут обработки уже однопоточного нода
Спасибо за ответ
Я не силен в администрировании к сожалению и не совсем понимаю. В iptables нужно прописать правило которое отправит на адрес прокси? Разве такое возможно? Т.е. слушать буду порт 10000, а отправить на на прокси типа 1.1.1.1:1234 ?
Статьи не нашел, которые когда то сохранял. Но погугли на тему как работают виртуальные процессоры в вируталках.
В двух словах, proxmox или другая система виртуализации сама следит за тем, какой виртуалке сколько нужно выделить в данный момент ресурсов. Т.е. можно сделать хоть 100 виртуальных процессоров, но они не смогут сделать больше чем твои настоящие 8 ядер. Но они спокойно смогут работать все вместе если у тебя каждая впс будет требовать 1% от общей мощности всех 8 ядер. Если вдруг какой то машине потребуется 10% от 8 ядер, proxmox заберет реальную мощность у других виртуалок и отдаст той, которой сейчас нужнее. Эти приоритеты тоже настраиваются при необходимости.
Я когда пробовал сделать проксичекер через multi_curl, почему то начинались проблемы когда ставил 30+ запросов. Но возможно были проблемы в самих прокси и из-за этого сыпалось все остальное, буду разбираться.
Тоже больше всего склоняюсь к варианту через multi_curl. По опыту, много запросов одновременно ему тяжело делать, с учетом того, что они все через прокси. Но 10-15 точно потянет. Если так, то воркеров будет достаточно 500, а это уже не проблема даже для очередей на mysql+supervisor
Да, верно, кода там не много, поэтому переписать часть где происходит сам запрос и разбор JSONа, не сложно.
Тем не менее это я рассматриваю как последний вариант, потому что все равно это несколько трудозатратнее, да и поддерживать будет сложнее.
То что какой-то фреймворк создает отдельные процессы для многопотока, это странно. На сколько я знаю react, swool, amp и прочие не так работают. Хотя так глубоко как реализована многопоточность я не копался.
Пока что смотрю именно в сторону асинхронного выполнения, корутин или же просто асинхронных запросов через multi_curl. Это можно сделать и протестировать достаточно быстро.
Я не прошу готового решения, а прошу совета в выборе архитектуры против той, что есть сейчас, и вообще стоит ли это делать теми методами что я описал. Тем более "на блюдечке". Ну и гугль тут не причем)
В конце концов, это же QA сервис, есть и похуже вопросы, ответ на который кроется просто в прочтении документации. Мне не с кем посоветоваться и исходя из своих знаний я описал решения которые вижу.
Я вижу, что ты очень много вносишь в этот ресурс, у тебя действительно много ответов и спасибо за такой вклад)
И если у тебя есть опыт в подобных задачах, я был бы очень рад услышать твой совет. Или если ты знаешь заданный подобный вопрос или статьи, поделиться ссылками. Я не нашел здесь того, что меня интересует.
Если вы нашли инструкцию, но не понимаете как ее доработать, то лучше в это не лезть)
Без хороших знаний в программировании, в том числе тонкий нюансов работы блокчейнов ничего не получится. Либо все это изучать, либо находить совсем решения из коробки.
Плюс нужны мощные серверы и ноды, на это все нужно не мало денег