Merge pull request 'dozorova_alena_lab_8' (#99) from dozorova_alena_lab_8 into main
Reviewed-on: #99
This commit is contained in:
commit
adf3f384a3
12
dozorova_alena_lab_8/readme.md
Normal file
12
dozorova_alena_lab_8/readme.md
Normal file
@ -0,0 +1,12 @@
|
||||
Распределенные системы все больше набирают популярность в наше время. Этому способствуют такие ее качества как:
|
||||
* *Устойчивость и масштабируемость* – возможность репликации позволяет поддерживать в работоспособном состоянии всю систему при отказе одного из ее компонентов
|
||||
* *Принцип единой ответственности* – реализация каждого элемента системы в виде сервиса, ответственного за что-то одно, упрощает поддержку и дальнейшее развитие системы.
|
||||
* *Увеличение производительности* – использование одновременно несколько распределенных сервисов позволяет повысить скорость обработки данных
|
||||
|
||||
**Оркестраторы** призваны обеспечивать мониторинг за состоянием системы и выполнять функции по ее оптимизации: организация быстрого развертывания, балансировка нагрузки. Оркестраторы так же позволяют уведомлять пользователей о возникших проблемах и выполнять сбор, агрегацию и анализ логов. Подобная обработка данных позволяет выявить узкие места системы. Но оркестратор так же требует ресурсы на собственную работу.
|
||||
|
||||
Под **сообщениями** подразумеваются данные, которыми обмениваются сервисы внутри системы. **Очереди сообщений** обеспечивают асинхронный обмен информацией. Сервис, отправляющий сообщение, взаимодействует не с другим сервисом, а с очередью и ждет ответа, не блокируя собственные процессы. Брокеры сообщений повышают отказоустойчивость такого обмена – они гарантируют доставку сообщения до сервиса-приемника.
|
||||
|
||||
На мой взгляд основными *преимуществами* распределенных приложений являются их масштабируемость и отказоустойчивость. Но в то же время они имеют и достаточно весомые *недостатки* – сложность их поддержки и реализации, а также сложность обработки и трассировки транзакций.
|
||||
|
||||
**Параллельные вычисления** в подобных системах следует внедрять только в том случае, когда *выигрыш от скорости вычислений значительно повышает затраты на выделение ресурсов*. Вычислить математические характеристики матрицы, к примеру, может быть оправдано, а вот разнесение высокоуровневой логики может быть неоправданно
|
Loading…
Reference in New Issue
Block a user