diff --git a/putilin_pavel_lab_8/README.md b/putilin_pavel_lab_8/README.md new file mode 100644 index 0000000..82cb4c8 --- /dev/null +++ b/putilin_pavel_lab_8/README.md @@ -0,0 +1,49 @@ +### Устройство распределённых систем + +Распределённая система — это набор программ или сервисов, которые работают вместе, +но находятся на разных компьютерах. Такие системы позволяют решать сложные задачи, +разбивая их на более простые части. Например, если взять социальную сеть, +то отдельные сервисы могут отвечать за сообщения, публикации или рекламу. +Это похоже на слаженную работу команды: каждый делает своё дело, но результат общий. + +#### Почему выбирают распределённый подход? + +Когда система становится слишком большой, поддерживать её как единое целое становится сложно. +Представьте огромный монолит: любое изменение может сломать что-то ещё. +В распределённых системах можно менять или улучшать отдельные сервисы, +не трогая остальные. Кроме того, если один сервис выйдет из строя, остальная система продолжит работать. + +#### Для чего нужны оркестраторы? + +Оркестраторы помогают распределять задачи между сервисами, +чтобы они работали согласованно. Например, они запускают новые экземпляры сервисов, +если нагрузка увеличилась, или перезапускают их в случае ошибки. +Без них управлять сотнями мелких сервисов вручную было бы очень трудно. +Конечно, сами оркестраторы добавляют немного головной боли, но они того стоят. + +#### Зачем очереди сообщений? + +Очереди нужны, чтобы сервисы могли обмениваться задачами, +как сотрудники офиса передают друг другу записки. +Например, один сервис обрабатывает заказы, а другой — отправляет уведомления. +Если заказы приходят быстрее, чем их успевают обрабатывать, +очередь помогает не терять данные и обрабатывать всё по мере готовности. + +#### Преимущества и недостатки распределённых систем + +Главный плюс — гибкость. Можно улучшать отдельные части, +не затрагивая всю систему. А ещё такие системы проще масштабировать: +если чего-то не хватает, просто добавляешь мощности туда, где это нужно. +Но есть и минусы. Например, сложность: +сервисы должны "разговаривать" друг с другом через сеть, а это дополнительные ошибки и задержки. + +#### Нужны ли параллельные вычисления? + +Параллельные вычисления полезны, когда нужно делать много одинаковых задач. +Например, обработка большого объёма данных или сложные расчёты. +Но если одна задача зависит от другой, параллельность может только всё усложнить. +Тут уже важен баланс — где стоит делить задачи, а где нет. + +Распределённые системы — это как пазл. Каждый кусочек важен, +но собрать их вместе так, чтобы всё работало идеально, — это искусство. +Однако, несмотря на сложности, такой подход открывает огромные возможности \ No newline at end of file