Чтение онлайн

на главную - закладки

Жанры

Основы блокчейна: вводный курс для начинающих в 25 небольших главах
Шрифт:

В этой главе не только представлена более подробная картина среды, в которой существует технология блокчейна, но и более точно определяется место расположения этой технологии в общей картине. Чтобы лучше увидеть все это, в главе вводится концепция архитектуры программного обеспечения и объясняется ее связь с концепцией разделения системы на уровни и аспекты. Чтобы помочь вам в определении места расположения технологии блокчейна в общей картине, здесь особо отмечаются взаимосвязи между технологией блокчейна и архитектурой программного обеспечения. В конце главы главная цель технологии блокчейна формулируется буквально в одном предложении. Правильное восприятие этой главной цели является важнейшей основой понимания всей технологии блокчейна и содержимого всех последующих

глав.

Метафора

У вас есть автомобиль? Большинство людей имеет автомобили. Даже если вы никогда не покупали машину, вероятнее всего, вы все же знаете, что машины оснащены различными типами двигателей (например, дизельными, бензиновыми или электрическими). Это пример применения принципа модульности как результата реализации идеи разделения на уровни для автомобилей. Возможность выбора одного из нескольких типов двигателя при покупке машины может привести к значительным различиям функциональных возможностей транспортных средств.

Две машины, внешне выглядящие абсолютно одинаково, могут совершенно отличаться по мощности их двигателей, следовательно, обеспечивать различные скорости вождения. Кроме того, выбор двигателя повлияет и на другие характеристики автомобиля, такие как цена, стоимость техобслуживания, тип потребляемого топлива, система отвода выхлопных газов, размеры тормозных колодок. Мысленно представляя схему этих взаимосвязей, можно гораздо быстрее понять роль технологии блокчейна в общей картине программной среды.

Платежная система

Применим концепцию разделения на уровни к платежной системе. В табл. 2.1 показаны некоторые потребности пользователей и некоторые нефункциональные аспекты на уровне приложения и на уровне реализации.

Таблица 2.1 Аспекты и уровни платежной системы

Вы обратили внимание на знак вопроса в той части таблицы, где обычно находится информация о технологии, обеспечивающей работу системы? Часть таблицы, помеченная знаком вопроса, оставлена незаполненной с определенной целью. Это то место, где вы решаете, какой «двигатель» должен использоваться, чтобы система работала. В следующем разделе более подробно рассматривается аналог двигателя в программных системах.

Два типа архитектуры программного обеспечения

Существует много способов реализации программных систем. Но одним из основных решений в процессе реализации системы становится определение ее архитектуры, то есть схемы организации ее компонентов и взаимосвязей между ними. Двумя основными типами архитектуры программных систем являются централизованная и распределенная [32].

В централизованных программных системах выделяется один центральный компонент, с которым соединяются отдельные периферийные компоненты. В противоположность такой схеме компоненты распределенных систем формируют сеть взаимосвязанных элементов без выделения какого-либо центрального элемента с функциями координации и управления.

Рис. 2.1 Распределенная (слева) и централизованная (справа) архитектуры системы

На рис. 2.1 схематично изображены эти две противоположные архитектуры. Закрашенные серым цветом кружки представляют компоненты системы, также называемые узлами (nodes), а линии обозначают связи между ними. В этот момент несущественны подробности, касающиеся того, что эти компоненты делают и какая информация передается между узлами. Здесь самым важным является сам факт существования двух различных способов организации программных систем.

В левой части рис. 2.1 распределенная архитектура демонстрирует, как соединяются друг с другом компоненты без какого-либо центрального элемента. Важно понять, что в этой схеме нет компонентов, напрямую связанных со всеми прочими компонентами. Но при этом все компоненты взаимосвязаны друг с другом, по крайней мере, не напрямую. В правой части рис. 2.1 показана централизованная архитектура, в которой каждый компонент связан с одним центральным компонентом. Периферийные компоненты не имеют прямых связей друг с другом. Для каждого периферийного компонента существует единственная прямая связь с центральным компонентом.

Преимущества распределенных систем

Ниже перечислены основные преимущества распределенной системы по сравнению с отдельными компьютерами [32]:

• более высокая вычислительная мощность;

• снижение стоимости (накладных расходов, издержек);

• более высокая надежность;

• возможность естественного роста.

Более высокая вычислительная мощность

Вычислительная мощность распределенной системы определяется как сумма объединенных вычислительных мощностей всех компьютеров, входящих в состав такой системы. Таким образом, распределенные системы обычно обладают более высокой вычислительной мощностью, чем каждый компьютер в отдельности. Этот факт подтверждается даже при сравнении распределенных систем, состоящих из компьютеров с относительно низкой вычислительной мощностью, с отдельными суперкомпьютерами.

Снижение стоимости (накладных расходов, издержек)

Цены на обычные типовые компьютеры, устройства памяти, дисковые накопители и сетевое оборудование постоянно и очень быстро снижаются в течение последних 20 лет. Поскольку распределенные системы состоят из множества компьютеров, первоначальная стоимость распределенных систем выше, чем первоначальная стоимость отдельного компьютера. Но затраты на создание, обслуживание и поддержку функционирования суперкомпьютера остаются гораздо более высокими, чем затраты на создание, сопровождение и обеспечение функционирования распределенной системы. Наиболее ярким подтверждением этого факта является отсутствие какого-либо заметного воздействия на систему в целом при замене отдельных компьютеров в распределенной среде.

Более высокая надежность

Повышенная надежность распределенной системы основана на том факте, что сеть компьютеров как единое целое способна продолжать работу даже при выходе из строя отдельных машин, составляющих ее. В распределенной системе нет так называемой единой точки отказа (single point of failure – SPOF). При отказе одного элемента все прочие элементы продолжают работу. Таким образом, отдельный суперкомпьютер обладает меньшей надежностью, чем распределенная система.

Возможность естественного роста

Вычислительная мощность распределенной системы определяется как сумма объединенных вычислительных мощностей всех ее компонентов. Вычислительную мощность всей системы можно увеличить, просто подключив к ней дополнительные компьютеры. Следовательно, вычислительную мощность распределенной системы можно регулировать с достаточно высокой точностью, постепенно наращивая ее. Такая методика поддерживает запросы многих организаций, которым требуется постоянное увеличение вычислительных мощностей. Постепенный рост распределенной системы абсолютно отличается от наращивания мощностей отдельных компьютеров. Вычислительная мощность отдельного компьютера остается неизменной до тех пор, пока он не будет заменен на более мощный компьютер. Такое дискретное повышение вычислительной мощности далеко не всегда является приемлемым вариантом для потребителей разнообразных современных сервисов.

Поделиться:
Популярные книги

Кодекс Крови. Книга ХIII

Борзых М.
13. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХIII

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Метатель. Книга 2

Тарасов Ник
2. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель. Книга 2

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Дракон - не подарок

Суббота Светлана
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Дракон - не подарок

Я не князь. Книга XIII

Дрейк Сириус
13. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я не князь. Книга XIII

Возвышение Меркурия. Книга 14

Кронос Александр
14. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 14

Библиотекарь

Елизаров Михаил Юрьевич
Проза:
современная проза
6.33
рейтинг книги
Библиотекарь

Мастер 6

Чащин Валерий
6. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 6

Кадры решают все

Злотников Роман Валерьевич
2. Элита элит
Фантастика:
боевая фантастика
попаданцы
альтернативная история
8.09
рейтинг книги
Кадры решают все

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2