Спасибо большое за уроки! ❤Просто супер! 👍 Порт - это, как я себе нашла объяснение - дверь (с определенным номером, через которую ходят протоколы. За некоторыми из них эти двери (порты) закреплены, как например: HTTPS = 443, HTTP = 80, 20,21 =FTP, ну и др.) Другие, не занятые двери можно использовать по своему усмотрению.
Спасибо большое за уроки! В статьях, интернете все так зачастую теоритично и непонятно, а с вашими примерами и подачей, стала понимать, казалось бы базовые понятия, ещё и юмор этот ваш, спасибо
Відео бомба! Дивлюсь після тони навчальних відео з купою інфи яку досить важко запам'ятати, твої відео, як ти кажеш, залітають з ноги. А з приводу теми портів, я б сказав, що це місце входу, як кімнати в будівлі, будівля - це сайт, а порти - це кімнати/офіси з номерами і ти на вході в будівлю вказуєшь у який офіс тобі потрібно.
Спасибо за успешный успех! Вопрос к 13:28 минуте: в чем смысл убивать сервис какой-то, если он занял определенный порт? Почему нельзя использовать свободный другой? Или при запуске нескольких сервисов они должны взаимодействовать между собой, используя определенный порт?
обожаю коменты благодарности еще и с вопросами по теме)) спасибо! Ты прав, без каких либо проблем можно запустить сервис на другом порту. Но если сервисы хотят между собой общаться, то они должны знать на какой именно порт им обращаться. Поэтому тут ты тоже прав) Обрисую на примере: У нас запущено локально три сервиса Core (3000), Auth (3001), Order (3002). Пусть Core сервис это ключевой сервис, который принимает запросы от клиента (мобилка, веб) и обрабатывает запросы, общаясь с другими сервисами. Допустим, что запрос PUT /orders/1 (редактировать заказ) прилетает на Core сервис на порт 3000. Возможная логика обработки запроса: 1. Core service проверяет авторизацию с помощью Auth service, отправляя запрос на порт 3001. 2. Core service отправляет запрос на Order service на порт 3002 для редактирования товара. Поэтому в Core service (обычно в файле env) будут записаны КОНКРЕТНЫЕ порты: AUTH_SERVICE=localhost:3001 ORDER_SERVICE=localhost:3002 Может немного замудрил с примером, но надеюсь получилось прояснить))
@@IlarionHalushka Пришлось немного пожонглировать, чтобы разобраться) Спасибо за подробное описание схемы работы микросервисов! Короче, если я правильно понял, то проще убить какой-то сервис, занимающий наш порт, записанный в env файле, чем в самом файле вносить изменения.
о прикольно, что через год кто-то пересматривает видео еще раз)) пожаловались на упоминание имени в леции и попросили вырезать.... на днях планирую найти тот моменти вырезать@@yauhen6329
А у сайта получается может быть как свой сервер, так и может быть на одном сервере несколько сайтов?И если на одном сервере несколько сайтов, у них будет один IP, но разные порты?
Да, все верно, на одном сервере (по простому железяке/компьютере) может быть запущено N сервисов (по простому программ/сайтов) на разных портах. И потом можна стучаться на один IP с разными портами. Ноооо обычно на практике именно сайты (файлы html, css, fonts, js) размещают на CDN системах, а бекенд на отдельных серваках :) Если будут еще вопросы, то feel free to ask 🙂
если у нас на компе 5 программ работают, а портом 443 HTTPS может пользоваться только одна программа на компе? то есть 5 программ не могут работать одновременно?
Не, немного не так. Попробую объяснить: У нас на компе запускается программа Х. Одна программа может запускать несколько процессов. У каждого процесса есть свой уникальный PID (process id). Это не порт, это айдишка процесса. Если программа хочет слушать определенный порт (принимать сетевые запросы), то она дает знать операционной системе, какой порт программа(процесс) хочет привязать(bind) к себе. Несколько программ(процесов) не могут слушать сетевые запросы с одинакового порта. Но, есть такие вещи как reverse proxy, например nginx. Представь, что у нас запущено 5 разных процессов и они слушают порты 3001, 3002, 3003, 3004, 3005. Суть в том, что nginx может слушать порт 80, и когда запросы приходят на порт 80, то nginx смотрит на url или headers и по определенным правилам распределяет запросы между 3001, 3002, 3003, 3004, 3005. В настройках nginx это выглядит примерно так: server { listen 80; location /users { proxy_pass localhost:3001; } location /cars { proxy_pass localhost:3002; } }
@@IlarionHalushka это если одна программа и у нее 5 процессов. а если программ на компе 5 и каждая программа хочет слушать порт 443, то получается что на компе не могут одновременно работать сразу 5 программ?
программы могут работать, но они не могут все слушать одинаковый порт. порт 443 моден слушать nginx или аналогичная программа, которая будет принимать запросы на 443 и распределять их между другими программами. если ты попробуешь запустить две программы (процесса), которые должны слушать одинаковый порт, то при запуске второго процесса, ты получишь ошибку что-то около «port is already is use”
Спасибо большое за уроки! ❤Просто супер! 👍
Порт - это, как я себе нашла объяснение - дверь (с определенным номером, через которую ходят протоколы. За некоторыми из них эти двери (порты) закреплены, как например: HTTPS = 443, HTTP = 80, 20,21 =FTP, ну и др.) Другие, не занятые двери можно использовать по своему усмотрению.
спасибо большое!) аналогия с дверьми просто 🔥
Спасибо большое за уроки! В статьях, интернете все так зачастую теоритично и непонятно, а с вашими примерами и подачей, стала понимать, казалось бы базовые понятия, ещё и юмор этот ваш, спасибо
спасибо большое за теплый отзыв !)
"еще и юмор этот ваш" 😆
Спасибо большое за уроки!
Большое спасибо за лекции, фишечки на собес закинул, было круто + пробелы где что-то не знал, исправил)
Смотрим, учим, конспектируем. Спасибо, бро!
Відео бомба! Дивлюсь після тони навчальних відео з купою інфи яку досить важко запам'ятати, твої відео, як ти кажеш, залітають з ноги. А з приводу теми портів, я б сказав, що це місце входу, як кімнати в будівлі, будівля - це сайт, а порти - це кімнати/офіси з номерами і ти на вході в будівлю вказуєшь у який офіс тобі потрібно.
дуже дякую!! аналогія з квартирами це топ
дивився цей відос пів року тому, наче і не дивився, усе забулось. але цікаво так само, як і в перший, дякую)
дружня порада - конспееееект))) і потім конспект по колу передивлятися повторювати і іноді лекції )
Ого, вот это находка. Ваш канал просто свежий глоток. Спасибо за лекции 💜
спасибо большое!!) приятного просмотра и удачи в обучении 😊
00:00 Что такое порт?
17:00 Какая максимальная длина URL (ссылки)?
Спасибо, как всегда очень интересно и понятно)
спасибо Алекс!)
Спасибо за лекцию, на шаг ближе к успеху
жду вас чуть выше, догоняйте, дорогие мои
порт - это числовое погоняло программы, которую должна вызвать операционка в ответ на поступивший из сети запрос
это просто лучшее объяснение !! 🔥🔥 но не обязательно "поступивший из сети запрос", т.к. процессы на одной машине тоже могут между собой общаться )
@@IlarionHalushka 👍👍👍
❤
Спасибо за успешный успех!
Вопрос к 13:28 минуте: в чем смысл убивать сервис какой-то, если он занял определенный порт? Почему нельзя использовать свободный другой? Или при запуске нескольких сервисов они должны взаимодействовать между собой, используя определенный порт?
обожаю коменты благодарности еще и с вопросами по теме)) спасибо!
Ты прав, без каких либо проблем можно запустить сервис на другом порту.
Но если сервисы хотят между собой общаться, то они должны знать на какой именно порт им обращаться. Поэтому тут ты тоже прав)
Обрисую на примере:
У нас запущено локально три сервиса Core (3000), Auth (3001), Order (3002).
Пусть Core сервис это ключевой сервис, который принимает запросы от клиента (мобилка, веб) и обрабатывает запросы, общаясь с другими сервисами.
Допустим, что запрос PUT /orders/1 (редактировать заказ) прилетает на Core сервис на порт 3000.
Возможная логика обработки запроса:
1. Core service проверяет авторизацию с помощью Auth service, отправляя запрос на порт 3001.
2. Core service отправляет запрос на Order service на порт 3002 для редактирования товара.
Поэтому в Core service (обычно в файле env) будут записаны КОНКРЕТНЫЕ порты:
AUTH_SERVICE=localhost:3001
ORDER_SERVICE=localhost:3002
Может немного замудрил с примером, но надеюсь получилось прояснить))
@@IlarionHalushka Пришлось немного пожонглировать, чтобы разобраться) Спасибо за подробное описание схемы работы микросервисов! Короче, если я правильно понял, то проще убить какой-то сервис, занимающий наш порт, записанный в env файле, чем в самом файле вносить изменения.
@@yauhen6329 ну все зависит от контекста)) что поменять env файл, что убить сервис - дело трех секунд :)
@@IlarionHalushka Привет. Куда пропала лекция 3.1 ?)
о прикольно, что через год кто-то пересматривает видео еще раз)) пожаловались на упоминание имени в леции и попросили вырезать.... на днях планирую найти тот моменти вырезать@@yauhen6329
Порт это некая абстракция порта(например морской порт), через которую проходит информация(контейнеры), по крайней мере как я понял :)
да, такая аналогия подходит 100% )) тоже люблю делать аналогии сложных вещей на простые) кто-то в комментах писал про дом с квартирами - топ
Ну эта проста топ
летит душе к душе от души ✊
А у сайта получается может быть как свой сервер, так и может быть на одном сервере несколько сайтов?И если на одном сервере несколько сайтов, у них будет один IP, но разные порты?
Да, все верно, на одном сервере (по простому железяке/компьютере) может быть запущено N сервисов (по простому программ/сайтов) на разных портах.
И потом можна стучаться на один IP с разными портами.
Ноооо обычно на практике именно сайты (файлы html, css, fonts, js) размещают на CDN системах, а бекенд на отдельных серваках :)
Если будут еще вопросы, то feel free to ask 🙂
если у нас на компе 5 программ работают, а портом 443 HTTPS может пользоваться только одна программа на компе? то есть 5 программ не могут работать одновременно?
Не, немного не так.
Попробую объяснить:
У нас на компе запускается программа Х. Одна программа может запускать несколько процессов. У каждого процесса есть свой уникальный PID (process id). Это не порт, это айдишка процесса.
Если программа хочет слушать определенный порт (принимать сетевые запросы), то она дает знать операционной системе, какой порт программа(процесс) хочет привязать(bind) к себе. Несколько программ(процесов) не могут слушать сетевые запросы с одинакового порта.
Но, есть такие вещи как reverse proxy, например nginx. Представь, что у нас запущено 5 разных процессов и они слушают порты 3001, 3002, 3003, 3004, 3005.
Суть в том, что nginx может слушать порт 80, и когда запросы приходят на порт 80, то nginx смотрит на url или headers и по определенным правилам распределяет запросы между 3001, 3002, 3003, 3004, 3005.
В настройках nginx это выглядит примерно так:
server {
listen 80;
location /users {
proxy_pass localhost:3001;
}
location /cars {
proxy_pass localhost:3002;
}
}
@@IlarionHalushka это если одна программа и у нее 5 процессов. а если программ на компе 5 и каждая программа хочет слушать порт 443, то получается что на компе не могут одновременно работать сразу 5 программ?
программы могут работать, но они не могут все слушать одинаковый порт. порт 443 моден слушать nginx или аналогичная программа, которая будет принимать запросы на 443 и распределять их между другими программами.
если ты попробуешь запустить две программы (процесса), которые должны слушать одинаковый порт, то при запуске второго процесса, ты получишь ошибку что-то около «port is already is use”
2:18 а мені буде кофе?))
😁 спочатку каву ставив в 3 лекції, а потім на цукерки перейшов))