senkin_alexander_lab_8 is ready
This commit is contained in:
parent
1a73e12489
commit
39937db6ca
24
senkin_alexander_lab_8/README.md
Normal file
24
senkin_alexander_lab_8/README.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Лабораторная работа №8 - Как Вы поняли, что называется распределенной системой и как она устроена?
|
||||
|
||||
Задание: Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :) ) на тему "Устройство распределенных систем". А помогут Вам в этом вопросы из списка:
|
||||
|
||||
- Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||
- Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||
- Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||
- Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||
- Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||
|
||||
# Эссе
|
||||
|
||||
Распределенные системы - это такие системы, в которых программный продукт разбит на несколько сервисов, зачастую взаимодействующих друг с другом.
|
||||
|
||||
Распределенные системы набирают популярность, потому что приложения в наше время сильно разрастаются и их становится все труднее поддерживать, масштабировать, разобраться в старом коде. Для этого стали пользвоваться микросервисной архитектурой, которая решает эти проблемы.
|
||||
|
||||
Микросервисная архитектура имеет плюсы и минусы. Из плюсов опять же упрощение поддержки продукта, его масштабирования и легче прийти новому человеку на проект, за счет более читабильного кода. Также это повышенная отказоустойчивость и производительность, так как можно развернуть много экземпляров одного сервиса, можно развернуть и экземпляры монолита, но он будет съедать много ресурсов, в отличие от сервисов.
|
||||
Из минусов можно выделить сложность разработки и ее дороговизна, нет смысла разрабатывать маленькое приложение или маленькой команде распределенное приложение.
|
||||
|
||||
Из популярных оркестраторов можно выделить kubernetes. Он отлично справляется с задачей создания, поддержания распределенного приложения за счет развертывания контейнеров. Также он удобен для поддержания работоспособности системы и распределения нагрузки, за счет его функций(не буду их описывать).
|
||||
|
||||
Сложно сказать, когда стоит а когда не стоит внедрять параллельные вычисления в распределенное приложение, так как все познается с опытом, и в некоторых моментах остается только с помощью практики выяснять какой способ выбрать. Зачастую нужно внедрять параллелизм при подключении клиентов на сервисы, при работе с брокерами также можно подключение вынести в отдельный поток.
|
||||
|
||||
При работе с микросервисной архитектурой часто приходится прибегать к использованию брокеров сообщений. Они помогают в общении сервисов друг с другом. С помощью брокеров мы можем сделать так, чтобы от одного сервиса сообщения доходили до нескольких сервисов за раз. В качестве сообщений может подрузамеваться какая-то информация, которая передается через брокер.
|
Loading…
Reference in New Issue
Block a user