Здравствуйте, L.K., Вы писали:
O>>всегда казалось что написать прокси сервер может любой программист за день. LK>Напиши за день. И посмотрим, что получится. Будет ли кто-то пользоваться этой поделкой.
Пость сначала посмотри объем кода в репо, прежде чем писать за день. Чел. не понимает о чем говорит.
Здравствуйте, Anton Batenev, Вы писали:
AB>Здравствуйте, okon, Вы писали:
o>> По мне проблема решается пулом сокетов и ”перекладыванием байт из одного место в другое“, это не глубокое понимание. o>> А что к этому списку добавляет глубокое понимание ?
AB>Проблемы переложить байты из одного места в другое действительно нет (просто перекладывать байты nginx умел еще в 2004, с первым релизом). Есть проблемы делать это быстро, гибко, в условиях гетерогенной изменяющейся среды, с мониторингами, health-check, service discovery, failover, весами и т.д. и т.п.
Делать быстро это хорошо, но что тут можно изобрести, считать блок данных нужно из сокета — нужно, интересно что тут можно придумать кроме как использовать стандартное апи для работы с сокетами или делать какой-то свой драйвер ? но думаю врятли они этим начали заниматься.
Считать данные из сокета куда ? Кроме оперативки вроде как некуда ? Очевидно что тут не надо каждый раз выделять память, а создать пул из блоков памяти.
Далее нужно как можно быстрее запихнуть эти данные в другой сокет, что тут может быть быстрее чем опять же стандартное api ?
Посреди этого пути могут быть мониторинги, логи и т.д., на это надо немного потратить ресурсов, поместить этот блок памяти из пула в очередь для логирования и в другом потоке уже это все сохранять и мониторить, после того как все сохранено — освободить пул.
Вроде это очевидные и не сложные манипуляции.
Вот интересно в каком месте предложенного выше решения тормоза и как можно еще быстрее сделать ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, okon, Вы писали:
O>>Не спорю, вот собственно и спрашиваю чего там такого ?
S>Удели 5 мин. и посмотри код: https://github.com/nginx/nginx/tree/master/src
Спасибо как раз хотел ссылку узнать
S>Это годы работы.
Да хоть 100 лет, это не аргумент ( годится для демагогии и манипуляции ).
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, okon, Вы писали:
O>Сейчас отжимают нгинх , что в нашем царстве государстве вполне ожидаемое явление. O>Но меня заинтересовал другой вопрос, т.к. всегда казалось что написать прокси сервер может любой программист за день. O>Понятно что в этом прокси сервере нгних функциональщины побольше чем на день, но не вижу там никакого рокетсайнса, но что мешает вместо того чтобы отжимать — просто взять исходники и отрефакторить под свой лад. В этом случае никаких прав уже предъявить нельзя.
Основная проблема в том, что nginx бесплатен. То есть, если вы сейчас возьмёте здешнего юзера netch, будете платить ему достаточно для неплохой жизни, и не дергать его, то вполне вероятно, что он напишет нечто даже более удобное, чем nginx, сделает базу, к которой затем можно будет дописывать модули.
А основная проблема опенсорца и бесплатного софта в том, что из-за бесплатности оного софта, никто не хочет платить за разработку "такого же, но лучше". На всей планете не нашлось людей. Потому что нет рынка, бесплатность убила рынок и конкуренцию. Астериск говно, апач тоже, freeswitch работает на стэке sofia sip, отданным в опенсорц компанией Nokia, и тоже является говном. А альтернатив нет, потому что в принципе нет способа найти денег на разработку аналогов того, что уже доступно бесплатно.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, L.K., Вы писали:
O>>>всегда казалось что написать прокси сервер может любой программист за день. LK>>Напиши за день. И посмотрим, что получится. Будет ли кто-то пользоваться этой поделкой.
S>Пость сначала посмотри объем кода в репо, прежде чем писать за день. Чел. не понимает о чем говорит.
Перечитай мое сообщение снова, увидишь что я другое написал.
Исходники посмотрел кода кстати совсем немного.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
С>А основная проблема опенсорца и бесплатного софта в том, что из-за бесплатности оного софта, никто не хочет платить за разработку "такого же, но лучше".
Не соглашусь, есть линукс, но платят за разработку винды и МакОС — такое же но лучше, есть куча браузеров но в опере платят за такое же но лучше и т.д.
И оно действительно лучше, т.к. опенсорос он медленно развивается, в отличии от тех вещей которые делаются за деньги.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
O>Да хоть 100 лет, это не аргумент ( годится для демагогии и манипуляции ).
Если тебе 100 лет — не аргумент, тогда возьми и напиши веб-сервер. Через 100 лет (или через 1 день? ты же за 1 день всё сделаешь) заработаешь 670 лямов зелени, как Сысоев.
Здравствуйте, L.K., Вы писали:
LK>Чем тебе астер с апачем не угодили?
Апач за эти годы мог бы стать не хуже nginx'а, перейдя на ту же модель обработки запросов — по флагу. Астер просто до такой степени крив, что авторы от него открестились и пошли писать freeswitch.
Здравствуйте, rudzuk, Вы писали:
С>> Опера непонятно на что существует. R>Опера работает в некоторых телевизорах, плюс реклама и телеметрия (после продажи китайцам они перестали стесняться).
Вот это совершеннейшее безобразие. Обмен приватности и свободы на 5 долларов.
С>Вот это совершеннейшее безобразие. Обмен приватности и свободы на 5 долларов.
А в остальных браузерах она есть, свобода? В строку url давно уже встроен поиск. Т.е. все url и все запросы отправляется на сервера — гугла, яндекса, байду и т.п. У рядового юзера выбор простой — какому из Старших Братьев подчиниться. Ну т.е. у кого логотип покрасивее.
Здравствуйте, Слава, Вы писали:
С>А основная проблема опенсорца и бесплатного софта в том, что из-за бесплатности оного софта, никто не хочет платить за разработку "такого же, но лучше".
Еще как платят, просто есть вещи, которые за деньги не купишь. Обычно люди подходят к вопросу формально — типа и сделали, типа и по т.з. — но получается какашка, которую просто выкинуть.
Здравствуйте, okon, Вы писали:
O>Перечитай мое сообщение снова, увидишь что я другое написал.
Удалось ли тебе лично за всю свою жизнь с нуля сделать хотя бы небольшой проект, которым бы пользовались не миллионы а просто десятки тыс. людей?
Есть нечто большее чем просто формально написать код. Начинается все с постановки Т.З. — уже само Т.З. стоит до миллиона долларов. Если т.з. чего-то не учитывает — тебе выдадут формальную какашку и деньги будут тупо просраны.
Ну и да — нельзя два раза войти в одну реку — время ушло, ниша уже занята.
O>Исходники посмотрел кода кстати совсем немного.
Немного? 5 Мб. низкоуровневого кода. В день чел. пишет 15 строк отлаженного низкоуровневого кода (пруф
) при зарплате $140 тыс. в год (если ты пишешь больше а платят тебе меньше — это не значит, что ты умнее или лучше — скорее наоборот). 15 строк — это около 500 байт. 5 Мб — 10 тыс. дней или 39 раб. лет или $5 млн. за разработку.
Здравствуйте, L.K., Вы писали:
LK>А в остальных браузерах она есть, свобода? В строку url давно уже встроен поиск. Т.е. все url и все запросы отправляется на сервера — гугла, яндекса, байду и т.п. У рядового юзера выбор простой — какому из Старших Братьев подчиниться. Ну т.е. у кого логотип покрасивее.
Я ещё помню то время, когда я набирал адреса сайтов руками, без поисковиков. Поиск из строки url можно отключить, даже в мобильных браузерах есть эта опция.
Здравствуйте, okon, Вы писали:
O>Делать быстро это хорошо, но что тут можно изобрести, считать блок данных нужно из сокета — нужно, интересно что тут можно придумать кроме как использовать стандартное апи для работы с сокетами или делать какой-то свой драйвер ? но думаю врятли они этим начали заниматься. O>Считать данные из сокета куда ? Кроме оперативки вроде как некуда ? Очевидно что тут не надо каждый раз выделять память, а создать пул из блоков памяти.
O>Далее нужно как можно быстрее запихнуть эти данные в другой сокет, что тут может быть быстрее чем опять же стандартное api ? O>Посреди этого пути могут быть мониторинги, логи и т.д., на это надо немного потратить ресурсов, поместить этот блок памяти из пула в очередь для логирования и в другом потоке уже это все сохранять и мониторить, после того как все сохранено — освободить пул.
O>Вроде это очевидные и не сложные манипуляции.
Ну, не совсем: основная задача реверс-прокси это получение запроса и маршрутизация его на бэкенд, т.е. как минимум нужно получить запрос, найти подходящий свободный серер, передать запрос ему, дождаться ответа, вернуть результат — это задача минимум. Крайне желательно поддерживать весь зоопарк HTTP (keep-alive connection, websockets, content caching — отдавать правильную информацию о кэшировании и прочее), поддержка шифрование (обычно шифрует соединение именно реверс-прокси).
Кроме того nginx (как не только прокси) умеет работать со статическим контентом (может брать информацию с хранилища), поддерживает правила (по каким ссылкам и в каком порядке отдавать контент), умеет кэшировать, переписывать url.
И это то чем я пользовался, подозреваю там модулей ещё два раза по столько.
O>Вот интересно в каком месте предложенного выше решения тормоза и как можно еще быстрее сделать?
Просто ещё раз уточню, что именно перенаправлять все запросы на один сервер никому не надо. Например обычное использование nginx — это предоставлять доступ сразу ко множеству сайтов. То есть клиент коннектится к одному ip, а nginx на этом ip уже исходя из запроса дёргает один из бэкендов.
Здравствуйте, L.K., Вы писали:
O>>Да хоть 100 лет, это не аргумент ( годится для демагогии и манипуляции ).
LK>Если тебе 100 лет — не аргумент, тогда возьми и напиши веб-сервер. Через 100 лет (или через 1 день? ты же за 1 день всё сделаешь) заработаешь 670 лямов зелени, как Сысоев.
А в чём собственно проблема? Веб серверов как собак нерезанных, написать ещё один не проблема ни разу, даже с нуля. Аналогов nginx (именно как реверс-прокси) тоже хватает, написать свой опять же не проблема. Проблемой будет только убедить других пользоваться им, но даже это вполне удаётся (тот же traefik вполне нашёл свою нишу).
Nginx исторически популярен, и зачастую используется даже там, где в принципе не нужен (например сейчас я бы уже не стал использовать nginx для именно реверс-прокси, когда дополнительная обработка не требуется, взял бы что-нибудь другое).