Merge pull request 'kosheev_maksim_lab_8' (#251) from kosheev_maksim_lab_8 into main
Reviewed-on: #251
This commit is contained in:
commit
bc89f638a7
14
kosheev_maksim_lab_8/READMY.md
Normal file
14
kosheev_maksim_lab_8/READMY.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Устройство распределенных систем
|
||||
Распределенные системы — это архитектура, в которой задачи выполняются не одним большим приложением, а множеством небольших сервисов. Каждое из них отвечает за определенную функцию: авторизацию, обработку данных, отправку сообщений и так далее. Такой подход особенно важен для больших и сложных проектов, таких как социальная сеть ВКонтакте. Здесь разделение на сервисы позволяет масштабировать систему: если, например, сервис обработки изображений упдаёт, то это не заденет остальную програм и его можно запустить на дополнительных серверах, не трогая остальные части системы.
|
||||
|
||||
# Зачем нужны системы оркестрации?
|
||||
Когда распределенных сервисов становится много, управлять ими вручную становится сложно. Системы оркестрации, такие как Kubernetes, автоматизируют этот процесс: они запускают приложения, следят за их состоянием и помогают быстро заменять упавшие части. Это упрощает разработку и сопровождение, позволяя сосредоточиться на коде, а не на инфраструктуре.
|
||||
|
||||
# Очереди обработки сообщений
|
||||
Очереди сообщений нужны для того, чтобы сервисы могли обмениваться информацией. Например, один сервис обрабатывает заказ, а другой — отправляет уведомление покупателю. Очередь (RabbitMQ или Kafka) помогает передать сообщение об этом заказе. Такие очереди делают систему более надежной: если один из сервисов временно недоступен, сообщение остается в очереди, и его обработают позже.
|
||||
|
||||
# Преимущества и недостатки
|
||||
Плюсы распределенных приложений очевидны: они легко масштабируются, проще в поддержке, и каждая часть системы может развиваться независимо. Но есть и минусы: сложнее наладить взаимодействие между сервисами, возрастает количество потенциальных точек отказа, а разработка требует более высокой квалификации.
|
||||
|
||||
# Параллельные вычисления в распределенных системах
|
||||
Параллельные вычисления полезны, когда нужно одновременно обрабатывать большие объемы данных. Например, при выдаче результатов поиска в поисковой системе или обработке миллионов изображений для социальных сетей. Однако не всегда параллельность оправдана. Если задача последовательная, как, например, генерация отчетов, параллельные вычисления только усложнят код.1
|
Loading…
Reference in New Issue
Block a user