ОСНОВЫ КОНСТРУКТИВНЫХ РЕШЕНИЙ ЗДАНИЙ КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО НАЗНАЧЕНИЮ Конструкции несущие – — воспринимают нагрузки и воздействия; — обеспечивают надежность, прочность, жесткость и устойчивость зданий Основные несущие конструкции образуют остов здания (конструктивную систему): фундаменты, стены, отдельные опоры, перекрытия, покрытия и т. п. Второстепенные несущие конструкции – перемычки над проемами, лестницы, блоки шахт лифтов Конструкции ограждающие – — разделяют и изолируют внутренний объем здания от внешней среды или между собой; — должны отвечать нормативным требованиям прочности, теплоизоляции, гидроизоляции, пароизоляции, воздухонепроницаемости, звукоизоляции, светопропусканию -и т. д. Основные ограждающие конструкции – ненесущие стены, перегородки, окна, витражи, фонари, двери, ворота Конструкции совмещенные – выполняют несущие и ограждающие функции – стены, перекрытия, покрытия
Строение атома. Как составить электронную и электронно-графическую формулы?
КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО ПРОСТРАНСТВЕННОМУ РАСПОЛОЖЕНИЮ НЕСУЩИХ КОНСТРУКЦИЙ: ПО ПРОСТРАНСТВЕННОМУ РАСПОЛОЖЕНИЮ НЕСУЩИХ КОНСТРУКЦИЙ ВЕРТИКАЛЬНЫЕ ГОРИЗОНТАЛЬНЫЕ НЕСУЩИЕ КОНСТРУКЦИИ – покрытия и перекрытия: — воспринимают вертикальные нагрузки и поэтажно передают их вертикальным несущим конструкциям (стенам, колоннам и др.); — играют роль жестких дисков – горизонтальных диафрагм жесткости – воспринимают и перераспределяют горизонтальные нагрузки и воздействия (ветровые, сейсмические) между вертикальными несущими конструкциями; — как диафрагмы обеспечивают совместность и равенство горизонтальных перемещений вертикальных несущих конструкций при ветровых и сейсмических воздействиях за счет жесткого сопряжения горизонтальных несущих конструкций с вертикальными конструкциями.
КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО ПРОСТРАНСТВЕННОМУ РАСПОЛОЖЕНИЮ НЕСУЩИХ КОНСТРУКЦИЙ: ВЕРТИКАЛЬНЫЕ ГОРИЗОНТАЛЬНЫЕ ВЕРТИКАЛЬНЫЕ НЕСУЩИЕ КОНСТРУКЦИИ: 1 – стержневые – стойки каркаса; 2 – плоскостные – стены, диафрагмы; 3 – объемно-пространственные элементы высотой в этаж – объемные блоки; 4 – внутренние объемно-пространственные полые стержни открытого или закрытого сечения на высоту здания – стволы (ядра) жесткости; 5 – объемно-пространственные внешние несущие конструкции на высоту здания в виде тонкостенной оболочки замкнутого сечения.
КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО ХАРАКТЕРУ СТАТИЧЕСКОЙ РАБОТЫ (работы под нагрузкой) вертикальные конструкции НЕСУЩИЕ, САМОНЕСУЩИЕ И НАВЕСНЫЕ Несущие конструкции воспринимают все приходящиеся на них нагрузки и воздействия, включая нагрузки, передаваемые через элементы, расположенные выше и опирающиеся на них (элементы перекрытий и покрытий), и передающие эти нагрузки через фундаменты грунтам основания. Самонесущие конструкции работают только на восприятие собственного веса, а также атмосферных воздействий (ветровые нагрузки, температурные воздействия) и передают их фундаментам и далее грунтам основания. На самонесущие конструкции другие элементы здания не опираются. Навесные конструкции воспринимают собственный вес и атмосферные воздействия в пределах яруса или этажа и передают их внутренним конструкциям здания, на которые опираются сами – внутренние стены, колонны, перекрытия. Навесная конструкция не имеет под собой фундамента.
Характеристика элемента по положению в Периодической системе и строению атома. 1 часть. 8 класс.
КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО ПРОСТРАНСТВЕННОМУ РАСПОЛОЖЕНИЮ НЕСУЩИХ КОНСТРУКЦИЙ ПО ХАРАКТЕРУ СТАТИЧЕСКОЙ РАБОТЫ (работы под нагрузкой) вертикальные конструкции НЕСУЩИЕ, САМОНЕСУЩИЕ И НАВЕСНЫЕ
КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО СПОСОБНОСТИ ВОСПРИНИМАТЬ УСИЛИЯ ЖЕСТКИЕ ГИБКИЕ (мягкие) Жесткие элементы воспринимают сжатие, растяжение и изгиб, сохраняя под воздействием нагрузки собственную первоначально заданную форму. Гибкие (мягкие) элементы могут воспринимать только растяжение. К гибким относятся металлические элементы конструкций в виде стальных канатов, полосовой и рулонной стали и алюминиевых сплавов. Мягкие элементы (материалы конструкций) представляют собой специальные ткани с синтетическими воздухонепроницаемыми покрытиями.
КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО ХАРАКТЕРУ ПО ФОРМЕ СИЛОВОЙ РАБОТЫ В ОПОРНОЙ РЕАКЦИИ СЕЧЕНИЯ ПРОСТРАНСТВЕ — плоскостные — распорные — сплошные — пространственные — безраспорные — сквозные Конструкции плоскостные –способны воспринимать только такую приложенную к ним нагрузку, которая действует в одной определенной плоскости (в плоскости самой конструкции). Конструкции пространственные – способны воспринимать приложенную к ним пространственную систему сил в трех измерениях. Конструкции распорные – при действии вертикальной нагрузки возникает горизонтальная опорная реакция – распор. Конструкция безраспорная – при действии вертикальной нагрузки горизонтальные составляющие опорных реакций отсутствуют. Сплошные конструкции – плиты, стены, перегородки, балки, рамы, арки, оболочки покрытий. Сквозные конструкции – состоят из стержневых элементов, соединенных между собой в плоскостную или пространственную форму
ОСНОВЫ КОНСТРУКТИВНЫХ РЕШЕНИЙ ЗДАНИЙ КЛАССИФИКАЦИЯ СТРОИТЕЛЬНЫХ КОНСТРУКЦИЙ ПО СПОСОБАМ ИЗГОТОВЛЕНИЯ И МОНТАЖА Конструкции сборные – монтируются в проектное положение на строительной площадке из отдельных изделий и элементов заводского изготовления (бетонные, железобетонные, металлические, деревянные). Например, стены монтируют из панелей, перекрытия – из плит, наконец, все здание – из объемных блоков. Конструкции монолитные – бетонные и железобетонные; основные части выполнены в виде единого целого (монолита) непосредственно на месте возведения здания; используется опалубка – форма, определяющая конфигурацию будущей конструкции; внутри опалубки устанавливается арматура, укладывается бетонная смесь с уплотнением и контролем твердения. Конструкции сборномонолитные – рационально объединены в различных сочетаниях сборные элементы и монолитный бетон. Сборные элементы могут играют роль несъемной опалубки; монолитный бетон повышает несущую способность конструкции, обеспечивает жесткое соединение элементов конструкции.
КОНСТРУКТИВНОЕ РЕШЕНИЕ ЗДАНИЯ определяется следующими базовыми характеристиками КОНСТРУКТИВНАЯ СИСТЕМА – КОНСТРУКТИВНАЯ СХЕМА – СТРОИТЕЛЬНАЯ СИСТЕМА – обобщенная конструктивно-статическая характеристика здания, определяется основным видом вертикальных несущих конструкций и не зависит от материала конструкций и способа возведения здания: вариант конструктивной системы по составу элементов и их расположению в пространстве; характеристика конструктивного решения здания по материалу элементов и косвенно – по способу возведения: 1 – каркасная система; 2 – стеновая система; 3 – объемно-блочная (столбчатая) система; 4 – ствольная система; 5 – оболочковая (периферийная) система например, стеновая система может быть реализована по одной из пяти схем: — перекрестное расположение несущих стен; — поперечное с большим шагом расположение несущих стен; — поперечное с малым шагом расположение несущих стен; — продольное расположение трех и более несущих стен; — продольное расположение двух несущих стен — традиционная (из мелкоразмерных элементов ручной кладки); — каркасно-панельная, объемноблочная полносборная; — бетонная и железобетонная сборно-монолитная и монолитная; — с применением дерева и пластмасс
КОНСТРУКТИВНЫЕ РЕШЕНИЯ ОБЪЕМНО-БЛОЧНОЙ СИСТЕМЫ
Строительные конструкции очень разнообразны по своему назначению и применению. Тем не менее их можно объединить по некоторым признакам общности тех или иных свойств, т.е. проклассифицировать, уточнив при этом некоторые понятия.
Возможны различные подходы к классификации конструкций.
Имея в качестве основной конечной цели учебника расчет конструкций, целесообразнее всего проклассифицировать их по следующим признакам:
1) по геометрическому признаку конструкции принято разделять на массивы, брусья, плиты, оболочки (рис. 1.1) и стержневые системы (рис. 1.3):
Рис. 1.1. Классификация конструкций по геометрическому признаку: а) массив; б) брус; в) плита; г) оболочка
Массив -конструкция, в которой все размеры одного порядка, например у фундамента размеры могут бьггь такими: а= 1,8 м; Ъ — 1,2 м; И = 1,5 м. Размеры могут бьггь и другими, но порядок их один — метры;
Брус — элемент, в котором два размера во много раз меньше третьего, т.е. они разного порядка: Ь« /, А « /. Например, у железобетонной балки они могут быть такими: Ь- 20 см, И = 40 см, а /= 600 см, т.е. они моїуг отличаться друг от друга на целый порядок (в 10 и более раз).
Брус с ломаной осью принято называть простейшей рамой, а с криволинейной осью — аркой (рис. 1.2, а, б);
Плита — элемент, в котором один размер во много раз меньше двух других: И « а, И « /. В качестве примера можно привести ребристую железобетонную плиту (точнее, поле плиты), у которой толщина собственно плиты И может быть 3-4 см, а длина и ширина порядка 150 см. Плита является частным случаем более общего понятия — оболочки, которая в отличие от плиты имеет криволинейное очертание (рис. 1.1, г). Рассмотрение оболочек выходит за рамки нашего курса;
Стержневые системы представляют собой геометрически неизменяемые системы стержней, соединенных между собой шарнирно или жестко. К ним относятся строительные фермы (балочные или консольные) (рис. 1.3).
Рис. 1.2. Разновидности брусьев: а) рама; б) арка
Рис. 1.3. Примеры простейших стержневых систем: а) балочная ферма; б) консольная ферма
Размеры во всех примерах приведены в качестве ориентира и не исключают их многообразия. Есть случаи, когда трудно отнести конструкцию к тому или иному виду по этому признаку. В рамках данного учебника все конструкции вполне вписываются в приведенную классификацию;
2) с точки зрения статики конструкции делятся на статически определимые и статически неопределимые. К первым относятся системы (конструкции), усилия или напряжения в которых могут быть определены только из уравнений статики (уравнений равновесия), ко вторым — такие, для которых одних уравнений статики недостаточно. В настоящем учебнике преимущественно рассматриваются статически определимые конструкции;
3) по используемым материалам конструкции делятся на стальные, деревянные, железобетонные, бетонные, каменные (кирпичные)»,
4) с точки зрения напряженно-деформированного состояния, т.е. возникающих в конструкциях внутренних усилий, напряжений и деформаций под действием внешней нагрузки, условно можно поделить их на три группы: простейшие, простые и сложные (табл. 1.1). Такое разделение не является общепринятым, но позволяет привести в систему характеристики видов напряженно-деформированных состояний конструкций, которые широко распространены в строительной практике и будут рассмотрены в учебнике. В представленной таблице трудно отразить все тонкости и особенности указанных состояний, но она дает возможность сравнить и оценить их в целом. Подробнее о стадиях напряженно-деформированных состояний будет сказано в соответствующих главах.
Глава 10. Пожарно-техническая классификация строительных конструкций и противопожарных преград
Статья 34. Цель классификации
1. Строительные конструкции классифицируются по огнестойкости для установления возможности их применения в зданиях, сооружениях, строениях и пожарных отсеках определенной степени огнестойкости или для определения степени огнестойкости зданий, сооружений, строений и пожарных отсеков.
2. Строительные конструкции классифицируются по пожарной опасности для определения степени участия строительных конструкций в развитии пожара и их способности к образованию опасных факторов пожара.
3. Противопожарные преграды классифицируются по способу предотвращения распространения опасных факторов пожара, а также по огнестойкости для подбора строительных конструкций и заполнения проемов в противопожарных преградах с необходимым пределом огнестойкости и классом пожарной опасности.
Статья 35. Классификация строительных конструкций по огнестойкости
1. Строительные конструкции зданий, сооружений и строений в зависимости от их способности сопротивляться воздействию пожара и распространению его опасных факторов в условиях стандартных испытаний подразделяются на строительные конструкции со следующими пределами огнестойкости:
2) не менее 15 минут;
3) не менее 30 минут;
4) не менее 45 минут;
5) не менее 60 минут;
6) не менее 90 минут;
7) не менее 120 минут;
8) не менее 150 минут;
9) не менее 180 минут;
10) не менее 240 минут;
11) не менее 360 минут.
2. Пределы огнестойкости строительных конструкций определяются в условиях стандартных испытаний. Наступление пределов огнестойкости несущих и ограждающих строительных конструкций в условиях стандартных испытаний или в результате расчетов устанавливается по времени достижения одного или последовательно нескольких из следующих признаков предельных состояний:
1) потеря несущей способности (R);
2) потеря целостности (Е);
3) потеря теплоизолирующей способности вследствие повышения температуры на необогреваемой поверхности конструкции до предельных значений (I) или достижения предельной величины плотности теплового потока на нормируемом расстоянии от необогреваемой поверхности конструкции (W).
3. Предел огнестойкости для заполнения проемов в противопожарных преградах наступает при потере целостности (Е), теплоизолирующей способности (I), достижении предельной величины плотности теплового потока (W) и (или) дымогазонепроницаемости (S).
4. Методы определения пределов огнестойкости строительных конструкций и признаков предельных состояний устанавливаются нормативными документами по пожарной безопасности.
5. Условные обозначения пределов огнестойкости строительных конструкций содержат буквенные обозначения предельного состояния и группы.
Статья 36. Классификация строительных конструкций по пожарной опасности
1. Строительные конструкции по пожарной опасности подразделяются на следующие классы:
1) непожароопасные (К0);
2) малопожароопасные (К1);
3) умереннопожароопасные (К2);
4) пожароопасные (К3).
2. Класс пожарной опасности строительных конструкций определяется в соответствии с таблицей 6 приложения к настоящему Федеральному закону.
3. Численные значения критериев отнесения строительных конструкций к определенному классу пожарной опасности определяются в соответствии с методами, установленными нормативными документами по пожарной безопасности.
Статья 37. Классификация противопожарных преград
1. Противопожарные преграды в зависимости от способа предотвращения распространения опасных факторов пожара подразделяются на следующие типы:
1) противопожарные стены;
2) противопожарные перегородки;
3) противопожарные перекрытия;
4) противопожарные разрывы;
5) противопожарные занавесы, шторы и экраны;
6) противопожарные водяные завесы;
7) противопожарные минерализованные полосы.
2. Противопожарные стены, перегородки и перекрытия, заполнения проемов в противопожарных преградах (противопожарные двери, ворота, люки, клапаны, окна, шторы, занавесы) в зависимости от пределов огнестойкости их ограждающей части, а также тамбур-шлюзы, предусмотренные в проемах противопожарных преград в зависимости от типов элементов тамбур-шлюзов, подразделяются на следующие типы:
1) стены 1-й или 2-й тип;
2) перегородки 1-й или 2-й тип;
3) перекрытия 1, 2, 3 или 4-й тип;
4) двери, ворота, 1, 2 или 3-й тип;
5) окна 1, 2 или 3-й тип;
6) занавесы 1-й тип;
7) тамбур-шлюзы 1-й или 2-й тип.
По функциональному назначению строительные конструкции подразделяются на несущие и ограждающие. Существуют также такие конструкции, как арки, фермы или рамы. Они являются несущими. А такие строительные конструкции как панели для стен, оболочки, своды соединяют в себе и ограждающие и несущие функции.
Несущие строительные конструкции в зависимости от расчетной схемы делятся на плоские (балки, фермы, рамы и др.) и пространственные (оболочки, своды, купола и др.). Пространственные строительные конструкции обладают более выгодным распределением усилий, в сравнении с плоскими конструкциями. Это, в свою очередь, требует меньшего расхода материалов, однако сборка и производство таких строительных конструкций является крайне трудоемким. На сегодняшний день появились новые типы пространственных конструкций — структурные конструкции, изготовленные из прокатных профилей, закрепленных болтовыми соединениями. Такой тип строительной конструкции обладает простотой изготовления и монтажа, экономичностью.
Строительные конструкции по виду материала бывают:
Это наиболее встречающиеся виды строительных конструкций на данный момент.
Современное строительство применяет железобетон в виде сборных конструкций. Сфера применения таких конструкций: строительство жилых, производственных зданий, различных сооружений. Целесообразное применение монолитного железобетона — это различные гидротехнические постройки, покрытия дорог, аэродромов, строительство фундаментов под промышленное оборудование, всевозможные резервуары, элеваторы и т. п.
При возведении сооружений, которые эксплуатируются в условиях агрессивной внешней среды или особых климатических условиях (например, повышенная температура, влажность), используют специальные виды бетона и железобетона. К примеру такими сооружениями являются тепловые агрегаты, здания химической промышленности и другие.
В железобетонных строительных конструкциях за счет использования особо прочных бетонов, арматуры, увеличения изготовления напряженных конструкций допустимо уменьшение массы конструкции, понижение цены и расхода материалов, увеличение сфер применения лёгких и ячеистых бетонов.
Области применения строительных конструкций.
Сфера применения стальных строительных конструкций иногда совпадает с использованием железобетонных конструкций. Это, в частности, каркасы большепролетных зданий , цеха с тяжелым и громоздким оборудованием, промышленные резервуары больших емкостей, мосты и др. Выбор типа строительной конструкции зависит от его стоимости, района строительства, расположения предприятия. Главное преимущество стальных строительных конструкций от железобетонных — малая масса. Это позволяет применять данные конструкции в малодоступных районах: на Крайнем Севере, в районах с повышенной сейсмической активностью, пустынных, горных районах и т. д.
Создание продуктивных объемных конструкций (из тонколистовой стали), увеличение объемов применения сталей высокой прочности и экономичных профилей проката сделают возможным уменьшить вес зданий и сооружений.
Главная область применения каменных строительных конструкций — возведение стен и перегородок. Архитектурные сооружения и здания из кирпича, мелких блоков и природного камня меньше соответствуют требованиям промышленного строительства, чем крупнопанельные здания, поэтому их доля во всех объемах строительства, падает.
В строительстве также применяют клееные деревянные конструкции двух видов: несущие и ограждающие. Несущие конструкции состоят из нескольких слоев древесины и склеены между собой. Зачастую их усиливают путем вставления арматуры.
Изготовление клееных деревянных конструкций осуществляется в заводских условиях, все процессы производятся механическим путем
Основная тенденция в изменении деревянных конструкций — это переход к строительным конструкциям из клееной древесины. Допустимость промышленного изготовления и получения элементов определенной конструкции нужных размеров с помощью их склеивания дает преимущества в сравнении с деревянными конструкциями других типов. Клееные строительные конструкции находят широкое применение в сельскохозяйственном строительстве.
В тенденциях современного строительства широкое распространение получают новые виды промышленных строительных конструкций : асбестоцементные, пневматические, конструкции из легких сплавов. Достоинствами данных конструкций являются: низкая удельная масса, возможность заводского изготовления на механических поточных линиях. Более легкие трехслойные панели начинают применяться как ограждающие конструкции вместо тяжелых железобетонных и керамзитобетонных панелей.
Требования, предъявляемые к строительным конструкциям.
По соображениям требований эксплуатации, строительные конструкции должны быть огнеустойчивыми, коррозиестойкими, удобными, экономичными и безопасными в использовании. С увеличением масштабов и темпов строительства к строительным конструкциям предъявляют требования их изготовления в заводских условиях, конструкции должны быть экономными по стоимости и оптимальными по расходу материалов, удобными при транспортировке и отличаться быстротой и простотой сборки на объекте строительства.
Большое значение уделяется снижению трудоемкости, как при изготовлении строительных конструкций , так и в процессе сооружения из них зданий.
Важной задачей современного строительства является уменьшение массы строительных конструкций за счет применения легких производительных материалов и развитии различных конструктивных решений.
Расчет строительных конструкций.
Строительные конструкции при проектировании рассчитываются на прочность, устойчивость и колебания. При расчете учитываются воздействия сил, которым подвергаются конструкции при эксплуатации: собственный вес, внешние нагрузки, влияние температурных факторов, смещение опор конструкции, усилия, которые появляются при транспортировке и установке строительных конструкций.
Разделение строительных конструкций по функциональному назначению на несущие и ограждающие в значительной мере условно. Если такие конструкции, как арки, фермы или рамы, являются только несущими, то панели стен и покрытий, оболочки, своды, складки и т. п. обычно совмещают ограждающие и несущие функции, что отвечает одной из важнейших тенденций развития современных строительных конструкций.
В зависимости от расчетной схемы несущие строительные конструкции подразделяют на плоские (например, балки, фермы, рамы) и пространственные (оболочки, своды, купола и т. п.). Пространственные конструкции характеризуются более выгодным (по сравнению с плоскими) распределением усилий и, соответственно, меньшим расходом материалов. Однако их изготовление и монтаж во многих случаях оказываются весьма трудоемкими. Новые типы пространственных конструкций, например структурные конструкции из прокатных профилей на болтовых соединениях, отличаются как экономичностью, так и сравнительной простотой изготовления и монтажа. По виду материала различают следующие основные типы строительных конструкций: бетонные и железобетонные, стальные, каменные, деревянные.
Бетонные и железобетонные конструкции — наиболее распространенные как по объему, так и по областям применения. Для современного строительства особенно характерно применение железобетона в виде сборных конструкций индустриального изготовления, используемых при возведении жилых, общественных и производственных зданий и многих инженерных сооружений. Рациональные области применения монолитного железобетона: гидротехнические сооружения, дорожные и аэродромные покрытия, фундаменты под промышленное оборудование, резервуары, башни, элеваторы и т.п. Специальные виды бетона и железобетона используют при строительстве сооружений, эксплуатируемых при высоких и низких температурах или в условиях химически агрессивных сред (тепловые агрегаты, здания и сооружения черной и цветной металлургии, химической промышленности и др.). Применение высокопрочных бетонов и арматуры, рост производства предварительно напряженных конструкций, расширение областей использования легких и ячеистых бетонов способствуют уменьшению массы, снижению стоимости и расхода материалов в железобетонных конструкциях.
Стальные конструкции применяются главным образом для каркасов большепролетных зданий и сооружений, для цехов с тяжелым крановым оборудованием, домен, резервуаров большой емкости, мостов, сооружений башенного типа и др. Области использования стальных и железобетонных конструкций в ряде случаев совпадают.
При этом выбор типа конструкций производится с учетом соотношения их стоимостей, а также в зависимости от района строительства и местонахождения предприятий строительной индустрии. Существенное преимущество стальных конструкций по сравнению с железобетонными — их меньшая масса. Этим определяется целесообразность их применения в районах с высокой сейсмичностью, труднодоступных областях Крайнего Севера, пустынных и высокогорных районах. Расширение объемов использования сталей высокой прочности и экономичных профилей проката, а также создание эффективных пространственных конструкций, в том числе из тонколистовой стали, позволят значительно снизить вес зданий и сооружений.
Основная область применения Каменных конструкций — стены и перегородки. Здания из кирпича, природного камня, мелких блоков и т. п. в меньшей степени удовлетворяют требованиям индустриального строительства, чем крупнопанельные здания. Поэтому их доля в общем объеме строительства постепенно снижается. Однако использование высокопрочного кирпича, армокаменных и комплексных конструкций (каменных конструкций, усиленных стальной арматурой или железобетонными элементами) позволяет значительно увеличить несущую способность зданий с каменными стенами, а переход от ручной кладки к применению кирпичных и керамических панелей заводского изготовления — существенно повысить степень индустриализации строительства и снизить трудоемкость возведения зданий из каменных материалов.
Основное направление в развитии современных деревянных конструкций — переход к конструкциям из клееной древесины. Возможность индустриального изготовления и получения конструктивных элементов необходимых размеров посредством склеивания определяет их преимущества по сравнению с деревянными конструкциями других видов. Несущие и ограждающие клееные конструкции находят широкое применение в сельском строительстве.
В современном строительстве значительное распространение получают новые типы индустриальных конструкций — асбестоцементные изделия и конструкции, пневматические строительные конструкции, Конструкции из легких сплавов и с применением пластических масс. Их основные достоинства — низкая удельная масса и возможность заводского изготовления на механизированных поточных линиях. Легкие трехслойные панели (с обшивками из профилированной стали, алюминия, асбестоцемента и с пластмассовыми утеплителями) применяют в качестве ограждающих конструкций вместо тяжелых железобетонных и керамзитобетонных панелей.
С точки зрения эксплуатационных требований строительные конструкции должны отвечать своему назначению, быть огнестойкими и коррозиеустойчивыми, безопасными, удобными и экономичными в эксплуатации. Масштабы и темпы массового строительства предъявляют к строительным конструкциям требования индустриальное их изготовления (в заводских условиях), экономичности, удобства транспортировки и быстроты монтажа на строительном объекте. Особое значение имеет снижение трудоемкости как при изготовлении строительных конструкций, так и в процессе возведения зданий и сооружений. Одна из важнейших задач современного строительства — снижение массы строительных конструкций на основе широкого применения легких эффективных материалов и совершенствования конструктивных решений.
При проектировании того или иного здания (сооружения) оптимальные типы строительных конструкций и материалы для них выбираются в соответствии с конкретными условиями строительства и эксплуатации здания, с учетом необходимости использования местных материалов и сокращения транспортных расходов. При проектировании объектов массового строительства, как правило, применяются типовые строительные конструкции и унифицированные габаритные схемы сооружений.
Источник: aurawood.ru
Общая характеристика строительства с применением легких конструкций
Индустриализация жилищного строительства связана главным образом с развитием технологии железобетона: с одной стороны, с возведением монолитных железобетонных стен и перекрытий на строительных площадках, с другой — с внедрением сборного железобетона вообще и крупнопанельных систем в частности. Заводское производство железобетонных конструкций значительно повысило производительность труда, а большие масштабы жилищного строительства сделали строительные системы, основанные на применении тяжелых сборных элементов, экономически жизнеспособными.
Особенности планировки этажей в жилых домах обеспечивают преимущественное применение конструктивных систем с несущими стенами. В зданиях других типов могут быть различные условия: в складах, фабрично-заводских и других промышленных зданиях должны быть созданы помещения больших пролетов, в то время как в общественных зданиях необходимы помещения как с большими, так и с малыми пролетами.
Таким образом, конструктивная система с несущими стенами, не считая ее применения в жилых зданиях, не лучшее решение. Оценивая целесообразность конструктивной системы, следует помнить, что объемы строительства промышленных, торговых и общественных зданий в отдельности весьма малые по сравнению с объемами жилищного строительства, в сумме составляют значительную долю в общем объеме строительства и строительной промышленности. Вот почему возникла необходимость индустриализировать строительство зданий различных типов путем развития гибкого метода, способного обеспечить при малых затратах труда быстрое возведение зданий различного назначения с различными планировочными параметрами. Решением проблемы является система строительства с широким применением легких конструкций, пригодная для применения при сооружении зданий с различными геометрическими и другими параметрами. В дальнейшем эту систему будем называть «системой легкого строительства», или «легким строительством», а построенные по этой системе здания — «легкими зданиями».
В системе легкого строительства несущие и ограждающие функции выполняют, как правило, разные конструктивные элементы, и это служит важной предпосылкой к ее гибкому, многоцелевому применению. Ограждающие конструкции обычно выполняются многослойными с применением различных материалов, каждый из которых подбирается с учетом его свойств.
В исключительных случаях несущую конструкцию можно использовать также в качестве наружного ограждения. Этот прием пригоден как в небольших сооружениях типа бескаркасных одноэтажных павильонов, так и для более крупных сооружений, например, пневмоконструкций.
Традиционное строительство основано на применении естественных относительно недорогих материалов, которые используются в значительном объеме (кирпич, глина и песок, естественный камень и т.п.). В легком строительстве, напротив, применяются рукотворные материалы, более дорогие в производстве, но используемые в меньшем количестве (металл, пластмассы и др.). Их в виде листов или профилей зачастую производят фирмы, не относящиеся к промышленности строительных материалов.
Вовлечение других отраслей промышленности в производство продукции для строительных целей увеличивает промышленные мощности, которые могут быть использованы для капитального строительства. Это также способствует внедрению в строительную промышленность более совершенной технологии. Легкое строительство не заменяет традиционных методов и материалов, а, скорее, дополняет их.
Оно вполне может сочетаться с модернизированными традиционными конструкциями (например, из железобетона), но наилучшим образом его достоинства проявляются, когда доля традиционных материалов и конструкций сводится к минимуму. Самый древний строительный материал — дерево играет важную роль в легком строительстве, в основном в виде древесноволокнистых плит и фанеры. Тяжелые материалы, такие, как бетон и естественный камень, также используются в легком строительстве, но наиболее важным является использование новых материалов промышленного производства.
Легкое строительство может быть двух видов: строительство с комплексным применением легких конструкций и строительство с использованием легких конструкций в сочетании с традиционными.
Другими словами, под легким строительством мы понимаем как комплексное применение различных систем легкого строительства, так и частичное применение легких элементов.
Легкое строительство широко применяется при сооружении школ и промышленных зданий. Множество таких систем (например, «Феал», «Фийо», «Кондер», КЛACП) получило распространение далеко за пределами тех стран, где они были созданы. Каждая система имеет свою номенклатуру легких элементов, крепежных и дополнительных деталей, хотя им присущи и некоторые общие черты. Так, легкое строительство требует высокого технического уровня как промышленной базы для производства легких элементов, так и системы (или систем) их сборки.
Основой строительной системы являются конструктивные элементы, определяющие ее характер; эти элементы могут быть собраны посредством устройства определенного типа соединений. Крепежными деталями могут служить гвозди, заклепки, болты, шурупы, подвешивающие и анкерующие устройства. В число дополнительных элементов входят уплотнители, прокладки и другие детали соединений и отделки.
Снижение собственной массы зданий приводит к снижению стоимости транспортировки, погрузочно-разгрузочных и монтажных работ, а также к уменьшению заводских и построечных трудозатрат. Развитие легкого строительства вносит коренные изменения в характер и статус строительной промышленности. Традиционно строительство было процессом, протекающим на строительной площадке, с эмпирической технологией, методами организации и контроля, основанными на индивидуальном опыте. Индустриальные методы производства, базирующиеся на установленных стандартах точности и допусков и широком применении сборных строительных элементов, требуют соответствующего уровня точности конструкций построечного изготовления, с которыми соединяются эти элементы. Переход на методы заводского производства в области жилищного строительства уже привел к внедрению индустриального мышления в сферу строительной промышленности, однако полное освоение такого подхода может быть достигнуто только путем развития легкого строительства.
Легкое строительство позволяет применять самые современные организационные принципы на всех этапах строительного процесса, в том числе контроль на стадиях проектирования, производства изделий и монтажа, общий контроль, оценку и обратную связь.
С развитием легкого строительства при широком применении вычислительной техники строительная промышленность сможет войти в ряды высокоразвитых отраслей. Развитие легкого строительства в значительной степени зависит от возможностей промышленности, что должно в полной мере учитываться проектировщиками.
Свойства продукции, включая ее внешний вид, зачастую диктуются условиями технологии производства. Легкое строительство, однако, не только не ограничивает возможности проектировщиков, но даже расширяет их.
Промышленность с ее оборудованием и технологией может обеспечить получение почти неограниченного разнообразия (в пределах производственных возможностей) решений строительных проблем. Несмотря на широко распространенное мнение о том, что архитектор способен осуществить свои идеи только при использовании традиционных материалов, уже сейчас признано, что его творческие возможности могут быть значительно расширены даже при необходимости соблюдения строгой промышленной дисциплины. Новые материалы и приемы позволяют достичь ранее недостижимых эффектов. В распоряжении проектировщика широкий диапазон приемов; яркие или бледные тона окраски, глянцевые или матовые поверхности, светопрозрачные или глухие перегородки и т.п.
Разборные перегородки и взаимозаменяемые конструктивные элементы обеспечивают большие возможности перестройки помещений.
Легкое строительство позволяет получить новые эстетические эффекты, хотя было бы ошибочным считать их привлекательными только из-за новизны. Например, при устройстве стен можно избежать видимых стыков, применяя нащельники или другие элементы. Это красиво и технически приемлемо, хотя открытые болты или головки шурупов нельзя безоговорочно отвергать, если они не служат причиной дефектов, таких, как коррозия или загрязнение. В качестве другого приема следует назвать применение узких металлических профилей в витражах фасадных стен, которые, будучи привлекательными с архитектурной точки зрения, обладают и техническими достоинствами, требуя меньше материала и создавая меньшие мостики холода. Однако было бы ошибочным считать это единственно приемлемым решением, так как более широкие профили, создающие сильные архитектурные акценты, могут также оказаться экономически, технически и эстетически оправданными.
Важные изменения в организации строительства обусловлены также простотой, с которой легкие элементы могут достаточно экономично транспортироваться на значительные расстояния и служить предметом международной торговли. Созданы мощные заводы по производству легких элементов, обеспечивающих выпуск продукции, значительно превышающий по объему национальные потребности. Поэтому международная кооперация является существенным фактором в планировании мощностей по производству строительных элементов, способных обеспечить рынок нескольких стран.
Усложняющийся характер зданий приводит к увеличению разнообразия применяемых изделий и числа производящих их предприятий. Удовлетворительный монтаж этого многообразия элементов может быть осуществлен только при условии, что и здания, и элементы были запроектированы на основе системы размерной координации, соответствующей требованиям монтажа.
Легкие конструкции наиболее применимы в малоэтажных зданиях. Из них могут выполняться и каркас, и наружные стены, и покрытие, и перегородки. В этом случае метод легкого строительства реализуется в чистом виде.
Легкие системы такого рода или менее комплексные (например, легкое наружное и внутреннее заполнение каркаса, подвесные потолки) широко используются также в сочетании с тяжелыми несущими конструкциями. Наибольшее снижение массы зданий достигается в случае применения легких конструкций при больших пролетах, однако это создает особые проблемы при их конструировании.
При традиционных методах строительства высокое качество может быть достигнуто только при наличии достаточно квалифицированных рабочих. Элементы легких строительных систем заводского изготовления, производимые на автоматизированных или полуавтоматизированных технологических линиях при систематическом контроле качества, обеспечивают достижение высокого качества законченного строительного объекта. Инженерные коммуникации занимают все большее место в зданиях; особенности же легких конструкций, таких, как подвесные потолки, позволяют разместить их скрыто в пределах габаритов строительных конструкций. В то же время скрытое размещение различных каналов и трубопроводов должно быть детально предусмотрено еще при проектировании. В связи с этим были разработаны различные проектные решения устройства инженерного оборудования для разного типа зданий, таких,как больницы, оффисы и сельскохозяйственные здания.
Наружные ограждения здания должны защищать от солнечной радиации и непогоды, обеспечивая в здании нормальный температурно-влажностный режим. В перекрытиях и подвесных потолках, которые служат целям звукоизоляции, размещаются элементы систем вентиляции, кондиционирования воздуха и освещения. Функциональные требования зачастую удовлетворяются путем применения новых приемов. Так, например, внутреннее обогреваемое пространство крупных магазинов отделяется от холодного наружного горячими воздушными завесами вместо дверей. Перегородки и подвесные потолки, выполненные в виде решетки из стержней или полос, могут ограждать пространство чисто зрительно, создавая впечатление разделенности.
Ввиду высокой стоимости инженерного оборудования и коммуникаций (в частности, систем кондиционирования воздуха) проект здания в целом подлежит тщательному рассмотрению и оценке с целью достижения оптимального с точки зрения экономики решения.
Методы легкого строительства полностью изменяют характер работ на строительной площадке. Сводятся к минимуму мокрые процессы, увеличивающие продолжительность строительства за счет времени на твердение и сушку и затрудняющие производство работ в зимних условиях. Строительство приобретает характер сборки, что существенно облегчает задачу снижения затрат труда.
Применение методов легкого строительства изменяет также внешний облик строительной площадки. Вместо куч. складов и штабелей песка, извести, цемента и пиломатериалов мы видим здесь ожидающие сборки элементы. Продолжительность строительства сокращается вдвое и более.
Предпосылкой легкого строительства является высокопроизводительное серийное производство, сопровождаемое тесным сотрудничеством проектировщиков, изготовителей и строителей. Это сотрудничество может выливаться в различные организационные формы, соответствующие практике, принятой в разных странах.
Описанные преимущества систем легкого строительства могут быть реализованы только путем намеренных, целенаправленных действий. И в легком строительстве возможно запроектировать элементы неверно, изготовить их неточно, доставить и смонтировать небрежно и, как следствие, построить здание низкого качества. Ho, изучив особенности этого нового метода строительства, можно использовать его преимущества в полной мере.
Источник: ctcmetar.ru
Архитектура микросервисов
К сожалению, у меня нет опыта работы с микросервисами, но около года назад я очень активно интересовался этой темой и изучил все источники информации, какие смог найти. Я просмотрел несколько выступлений на конференциях, прочитал несколько статей очень авторитетных и опытных специалистов вроде Мартина Фаулера, Фреда Джорджа, Эдриана Кокрофта и Криса Ричардсона, чтобы как можно больше узнать о микросервисах. Эта статья — результат моих изысканий.
Иными словами, мы инкапсулируем определённые контексты приложения в микросервисы, по одному на каждый, а сами микросервисы крутим на разных серверах.
SOA и микросервисы
Согласно Мартину Фаулеру, термином SOA злоупотребляют все кому не лень, сегодня под ним подразумевают множество вещей. С точки зрения Мартина, микросервисы — это разновидность SOA.
Когда следует использовать микросервисы?
Как архитектор-теоретик, желающий стать практиком, я считаю следующее. Решая, использовать ли микросервисы, ни в коем случае нельзя руководствоваться мифами, или желанием «в следующий раз попробовать это», или стремлением быть на переднем крае технологий. К этому, в соответствии с выводами Рейчел Майерс, нужно подходить исключительно с прагматической точки зрения. Рейчел отмечает, что архитектура должна:
- делать продукт гибче и устойчивее к сбоям;
- облегчать понимание, отладку и изменение кода;
- помогать в командной работе.
Мартин Фаулер выделяет несколько преимуществ монолитной и микросервисной архитектур, что поможет вам решить, какой подход выбрать:
Преимущества | |
Монолитная архитектура | Микросервисы |
Простота |
Монолитная архитектура гораздо проще в реализации, управлении и развёртывании.
Микросервисы позволяют по мере необходимости обновлять приложение по частям.
Лично мне нравится прагматичный подход Эрика Эванса. Микросервисы с точки зрения аппаратных ресурсов имеют преимущества, которых лишены единые архитектуры, а также облегчают решение ряда задач с программной точки зрения:
Микросервисы | |
Аппаратные преимущества | Программные преимущества |
Независимая масштабируемость |
Я считаю, что основные причины для использования микросервисов — аппаратные преимущества, недостижимые с помощью единой архитектуры. Так что если вам важны вышеописанные моменты, то микросервисы безальтернативны. Если же аппаратные преимущества для вас некритичны, то сложность микросервисной архитектуры может перевесить её достоинства. Также мне кажется, что с помощью единой архитектуры невозможно достичь частичного развёртывания и частичной доступности, характерных для микросервисов. Это не ключевые преимущества (хотя это в любом случае преимущества).
Вне зависимости от наших вкусов и пожеланий НЕЛЬЗЯ начинать новый проект сразу с использованием микросервисной архитектуры. Вначале нужно сосредоточиться на понимании задачи и на способе её достижения, не тратя ресурсы на преодоление огромной сложности создания экосистемы микросервисов (Ребекка Парсонс, Саймон Браун).
Предпосылки
Непрерывное развёртывание
Возможность и нацеленность на постоянное ускорение работы
Одна из причин использования микросервисов заключается в том, что мы хотим иметь возможность быстро что-то менять, чтобы реагировать на изменения бизнес-требований, опережать конкурентов. Или, выражаясь словами Эрика Эванса, нам нужно осознавать хаос в компаниях:
Реальность разработки ПО такова, что вначале мы никогда не имеем полного понимания задачи. Наше понимание углубляется по мере работ, и нам постоянно приходится рефакторить. Так что рефакторинг — это потребность, но в то же время и опасность, потому что код становится запутанней, особенно при несоблюдении ограниченности контекстов. Микросервисы заставляют соблюдать пределы ограниченных контекстов, что позволяет сохранять работоспособность, ясность, изолированность и инкапсулированность кода в отдельных связных модулях. Если модуль/микросервис становится запутанным, то эта запутанность только в нём и остаётся, а не распространяется за его пределы.
Нам нужно действовать быстрее на всех стадиях разработки! Это верно для любой архитектуры, но микросервисы в этом отношении удобнее. Мартин Фаулер говорит, что необходимо иметь возможность:
- Быстро вводить в эксплуатацию: быстро развёртывать новые машины для разработки, тестирования, приёмки и работы.
- Быстро развёртывать приложения: автоматически и быстро развёртывать наши сервисы.
Фред Джордж утверждает то же самое: есть огромная потребность ускорить работу, чтобы выдержать конкуренцию! Он приводит ретроспективный анализ времени, необходимого на введение в эксплуатацию сервера, и отмечает, что в 1990-х требовалось 6 месяцев, в 2010-м благодаря облачным сервисам — 30 минут, а в 2015-м Docker позволял поднять и запустить новый сервер менее чем за минуту.
Эдриан Кокрофт, один из ключевых специалистов в Netflix Cloud и пионер в освоении микросервисов, отмечает, как важно находиться в первых рядах при освоении новых технологий, а также очень быстро вводить новые серверы и развёртывать новые версии своих приложений. Эдриан — большой поклонник Docker, поскольку этот сервис позволяет за секунды создавать сервер и развёртывать среды для разработки, тестирования и работы.
Усложнившийся мониторинг
Мониторинг крайне важен (Ребекка Парсонс), нам необходимо сразу узнавать о том, что сервер упал, что какой-то компонент перестал отвечать, что происходят сбои вызовов, причём по каждому из микросервисов (Фред Джордж). Также нам нужны инструменты для быстрой отладки (Мартин Фаулер).
Сильная devops-культура
Нам нужны devops’ы для мониторинга и управления, при этом между ними и разработчиками должны быть тесные отношения и хорошее взаимодействие (Мартин Фаулер). При работе с микросервисами нам приходится больше развёртывать, усложняется система мониторинга, сильно разрастается количество возможных сбоев. Поэтому в компании очень важна сильная devops-культура (Ребекка Парсонс).
Характеристики
Мартин Фаулер и Джеймс Льюис в своей широко известной статье и выступлениях (Фаулер, Льюис) приводят набор характеристик для определения микросервиса.
Что такое микросервис?
Архитектура на основе свободно сопряжённых сервисов с ограниченными контекстами. (Loosely coupled service oriented architecture with bounded contexts.)
Ограниченный контекст — это понятие явных границ вокруг какого-то бизнес-контекста. Например, в рамках электронной коммерции мы оперируем понятиями «темы» (themes), «поставщики платёжных услуг» (payment providers), «заказы», «отгрузка», «магазин приложений». Всё это ограниченные контексты, а значит — кандидаты в микросервисы.
Полезная общая информация о микросервисах приводится в книге Сэма Ньюмена «Building Microservices». По мнению Джеймса Льюиса, микросервисы должны:
- дёшево заменяться;
- быстро масштабироваться;
- быть устойчивыми к сбоям;
- никоим образом не замедлять нашу работу.
Насколько велик микросервис?
Джеймс Льюис утверждает, что сервис должен быть «настолько большим, чтобы умещаться в руке», то есть чтобы один человек мог полностью разобраться в его устройстве и работе.
Есть разные мнения о размерах микросервисов. Мартин Фаулер описывает случаи, когда соотношение количества сотрудников и сервисов колебалось от 60 к 20 до 4 к 200. К примеру, в Amazon используется подход с «командами на две пиццы» (two pizzas team): в команде микросервиса должно быть столько людей, чтобы их можно было накормить двумя пиццами.
Фред Джордж полагает, что микросервис должен быть «очень-очень маленьким», чтобы его создавал и сопровождал только один разработчик. То же самое говорит и Джеймс Льюис.
Я согласен с Джеймсом Льюисом, Фредом Джорджем и Эдрианом Кокрофтом. Мне кажется, микросервис должен соответствовать ограниченному контексту, который способен полностью понять один человек. То есть чем шире функциональность приложения, тем больше должно быть микросервисов. Например, в Netflix их около 800! (Фред Джордж)
Тем не менее как в самом начале жизненного цикла микросервиса, так и позднее ограниченный контекст может оказаться слишком велик для понимания одним человеком. Нужно выявлять такие ситуации и дробить подобные сервисы на более мелкие. Это соответствует концепциям архитектуры с эволюционным развитием и DDD, подразумевающим, что архитектура постоянно меняется/рефакторится по мере углубления в задачу и/или изменений бизнес-требований. Как говорит Ребекка Парсонс, «дробление крайне важно»: при разработке микросервисов труднее всего определять их границы. И при продвижении работы мы однозначно будем объединять или дробить сервисы.
Компонентное представление через сервисы
- Компонент — это элемент системы, который можно независимо заменить, усовершенствовать (Мартин Фаулер) и масштабировать (Ребекка Парсонс).
- При разработке ПО мы используем два типа компонентов:
А. Библиотеки: куски кода, применяемые в приложениях, которые могут дополняться или заменяться другими библиотеками, желательно без воздействия на остальную часть приложения. Взаимодействие происходит через языковые конструкты. Однако если интересующая нас библиотека написана на другом языке, мы не можем использовать этот компонент.
Б. Сервисы: части приложений, по факту представляющие собой маленькие приложения, выполняющиеся в собственных процессах. Взаимодействие выполняется за счёт межпроцессной связи, вызовов веб-сервисов, очереди сообщений и т. д. Мы можем использовать сервис, написанный на другом языке, поскольку он выполняется в собственном процессе (этот подход предпочитает Чед Фаулер). - Независимая масштабируемость — каждый сервис может быть масштабирован независимо от остального приложения.
Гетерогенность
Гетерогенность — это возможность построить систему с использованием разных языков программирования. У подхода есть ряд преимуществ (Мартин Фаулер), а Чед Фаулер считает, что системы обязаны быть гетерогенны по умолчанию, то есть разработчики должны стараться применять новые технологии.
Преимущества гетерогенной системы:
- Предотвращает возникновение тесных связей благодаря использованию разных языков.
- Разработчики могут экспериментировать с технологиями, что повышает их собственную ценность и позволяет не уходить в другие компании, чтобы попробовать новинки.
Правило. При экспериментах с новыми технологиями:
— нужно использовать маленькие элементы кода (code unit), модули/микросервисы, чтобы снизить риск;
— элементы кода должны быть одноразовыми (disposable).
Организация человеческих ресурсов в соответствии с возможностями бизнеса
Когда-то внутри команд разработчиков самоорганизовывались группы на основе используемых технологий. В результате проект создавали команда по DBA, команда разработки серверной части и команда разработки интерфейса, действовавшие независимо друг от друга. Такая схема сказывается на качестве продукта, потому что знания в конкретных областях и усилия по разработке рассеиваются по подгруппам.
При микросервисном подходе команды должны организовываться на основе бизнес-возможностей: например команда заказов, отгрузки, каталога и т. д. В каждой команде должны быть специалисты по всем необходимым технологиям (интерфейс, серверная часть, DBA, QA. ). Это даст каждой команде достаточный объём знаний, чтобы сосредоточиться на создании конкретных частей приложения — микросервисов (Мартин Фаулер, Эрик Эванс).
Подход сочетается с законом Конвея, который гласит, что если нам нужны высокосвязные раздельные микросервисы, то структура организации должна отражать желаемую компонентную структуру.
Организации, разрабатывающие системы… создают архитектуры, которые копируют структуры взаимодействий внутри этих организаций.
Продукты, а не проекты
Раньше был такой подход: команда создаёт какую-то функциональность, а затем передаёт её на сопровождение другой команде.
В случае с микросервисами команда должна отвечать за свой продукт в течение всего его жизненного цикла, включая разработку, сопровождение и вывод из эксплуатации. Это формирует «продуктовое мышление», что означает сильную связь между техническим продуктом и его бизнес-возможностями. То есть создаётся прямая взаимосвязь: как приложение помогает своим пользователям расширить их бизнес-возможности.
Умные эндпойнты и глупые каналы (Smart endpoints and dumb pipes)
Опять же, в старые добрые времена компании использовали архитектуру Enterprise Service Bus (сервисная шина), при которой формируется канал коммуникаций между эндпойнтами и бизнес-логикой. Затем этот подход преобразился в spaghetti box.
Микросервисная архитектура переносит бизнес-логику в конечные точки и использует простые способы взаимодействия вроде HTTP.
Децентрализованное управление
Ключевые решения по микросервисам должны принимать люди, которые действительно разрабатывают микросервисы. Здесь под ключевыми решениями подразумевается выбор языков программирования, методологии развёртывания, контрактов публичных интерфейсов и т. д.
Децентрализованное управление данными
При традиционном подходе у приложения лишь одна база данных, и много разных компонентов бизнес-логики приложения «взаимодействуют» в рамках этой БД: напрямую читают из неё данные, принадлежащие другим компонентам. Это также означает, что для всех компонентов характерна одна и та же степень сохранности данных, даже если для каких-то из них это не самая лучшая ситуация (Мартин Фаулер).
При микросервисной архитектуре, когда каждый бизнес-компонент представляет собой микросервис, все компоненты обладают собственными базами данных, которые недоступны другим микросервисам. Данные компонента доступны (для чтения и записи) только через соответствующий интерфейс компонентов. Благодаря этому степень устойчивости данных варьируется в зависимости от компонента (Мартин Фаулер, Чед Фаулер).
С точки зрения Фреда Джорджа, это первый вызов на пути к микросервисной архитектуре.
Автоматизация инфраструктуры
- «Голубое» и «зелёное» развёртывание: нулевое время простоя.
- Автоматизация: нажатием одной кнопки можно развернуть несколько серверов.
- Серверы Phoenix: быстрый запуск и остановка.
- Мониторинг: можно заметить, когда что-то пошло не так, и отладить.
Страховка от сбоев (Design for failure)
Серверы, по которым распределено приложение, рано или поздно падают, особенно разные узлы. Поэтому архитектура приложений должна быть устойчива к таким сбоям (Мартин Фаулер).
Chaos monkey — это инструмент, созданный в Netflix. Он позволяет выключать серверы для проверки устойчивости системы к такому типу отказов (Мартин Фаулер).
Ребекка Парсонс считает очень важным, что мы больше не используем даже внутрипроцессное взаимодействие между сервисами, вместо этого для связи мы прибегаем к HTTP, который и близко не бывает столь же надёжен. В результате будут возникать сбои при общении сервисов друг с другом, и система должна быть к этому готова.
Архитектура с эволюционным развитием
Архитектура всего приложения не должна быть статичной, необходима возможность её простого развития в соответствии с потребностями бизнеса. Например, можно:
- Превратить (рефакторить) единое приложение в приложение микросервисное, изолировав и перенеся наборы бизнес-логики (ограниченные контексты) в отдельные микросервисы.
- Объединить существующие микросервисы, например когда часто приходится одновременно изменять разные микросервисы.
- Разделить существующие микросервисы, когда нужно и есть возможность развивать их по отдельности или когда мы понимаем, что разделение серьёзно повлияет на бизнес-логику.
- Временно добавить в приложение какую-то возможность, создав микросервис, который будет работать определённое время.
Фронтенд/бэкенд
Есть два подхода к структурированию фронтенда и бэкенда при микросервисной архитектуре:
- Раскидать все части пользовательского интерфейса по микросервисам и сохранять взаимосвязи между соответствующими микросервисами. Это позволяет наладить внутрипроцессное взаимодействие между фронтендом и бэкендом. Но тогда будет очень сложно, если вообще возможно, поддерживать связность UI. В случае перекрёстных изменений границ в UI нам придётся одновременно обновлять несколько микросервисов, создавая взаимосвязи и нарушая изолированность и независимость микросервисов, обеспечиваемые самой архитектурой. Получается практически антипаттерн!
- Раскидать кодовые базы фронтенда и бэкенда, оставив UI приложения одним целым, чтобы они потом взаимодействовали по HTTP. Микросервисы будут отделены друг от друга, что дополнительно разделит фронтенд и бэкенд. Зато UI можно поддерживать целиком, легко сохраняя его связность. Такую структуру рекомендует использовать Рейчел Майерс, и, насколько я понимаю, это единственный способ. В таком случае у нас есть два варианта взаимодействия между фронтендом и бэкендом:
- Много маленьких асинхронных HTTP-запросов вместо одного большого, что исключит возможность блокировки (этот подход предпочитает Чед Фаулер).
- Один большой запрос к специализированным сервисам (шлюзу/агрегатору/кешу), которые собирают данные со всей микросервисной экосистемы. Это уменьшает сложность UI.
Опасности
Нужно управлять гибкостью технологии
Одно из преимуществ микросервисов заключается в том, что мы можем применять разные технологии для решения одной и той же задачи. Например, в каждом микросервисе использовать разные библиотеки для XML-парсинга или разные инструменты сохранности данных. Но сама возможность не означает, что мы должны это делать. Не исключено, что обилие технологий и библиотек выйдет из-под контроля. Так что выберите базовый набор инструментов и обращайтесь к другим только тогда, когда это действительно нужно (Ребекка Парсонс).
Нужно управлять нестабильностью интерфейса
В начале разработки микросервиса его API особенно нестабилен. Но даже на более поздних стадиях, когда микросервис достаточно отработан, нам приходится менять API, его ввод и вывод. Осторожно вносите изменения, потому что другие приложения будут полагаться на стабильность API (Ребекка Парсонс).
Необходимо быть уверенными в согласованности данных
Микросервисы имеют собственные хранилища данных. И во многих случаях данные, принадлежащие одному микросервису, будут частично или целиком скопированы другим, клиентским микросервисом. Когда данные у поставщика меняются, он инициирует событие для запуска обновления данных, скопированных клиентским микросервисом. Событие попадает в очередь сообщений и ожидает, когда его получит клиентский микросервис.
Эта схема означает, что клиентский микросервис будет обладать устаревшими данными, пока не обнаружит нужное событие. Данные не согласованы.
Конечно, в итоге изменения будут применены ко всем копиям, а данные снова станут согласованными. Это называется eventual consistency — согласованность в конечном счёте. То есть мы знаем, что в течение короткого периода времени данные остаются несогласованными. Этот эффект имеет важное значение в ходе разработки приложений, от серверной части до UX-уровней (Ребекка Парсонс).
Как декомпозировать единое приложение
Приступая к созданию приложения, нужно изначально придерживаться единой архитектуры — по причине её простоты. В то же время нужно стараться создавать его как можно более модульным, чтобы каждый компонент легко переносился в отдельный микросервис (Ребекка Парсонс). Это сочетается с идеей Саймона Брауна о разработке приложения в виде набора раздельных компонентов в едином развёртываемом модуле.
При декомпозиции единой архитектуры в микросервисную, или в набор раздельных компонентов, необходимо думать о нескольких измерениях в поддержку нашего решения:
- Думайте об ограниченных контекстах, как это определено в DDD (Ребекка Парсонс, Рейчел Майерс)
- Каждый микросервис должен представлять собой ограниченный контекст, с точки зрения концепции бизнеса и с технической точки зрения. Обычно в рамках микросервиса должны быть соединения между элементами кода (между данными и/или бизнес-логикой), а также несколько соединений с внешними элементами кода.
- Какие потоки создания ценностей (value streams) существуют в организации? Бизнес-продукты? Какие доставляются бизнес-сервисы?
- Мы можем посмотреть на продукт не только как создатели, но и как потребители: что они хотят от нашего сервиса? Как они будут его использовать? Чего они ожидают?
- Какие части системы могут использовать одни и те же данные? Какие бизнес-логики будут взаимодействовать интенсивнее? (Ребекка Парсонс: 1, 2, 3)
- Есть ли в архитектуре единая точка отказа благодаря жёсткой зависимости одного микросервиса от многих других? (Рейчел Майерс)
- Сервисы обладают собственными данными, у них свои базы данных, и нам нужно исходить из принципа согласованности в конечном счёте. Если две структуры данных очень сильно зависят друг от друга, то может быть целесообразнее держать их в одном микросервисе, чтобы не пришлось создавать механизм для работы с согласованностью в конечном счёте.
- Если можно предвидеть одновременное изменение двух элементов кода, то лучше хранить их в одном микросервисе, чтобы исключить лишние усилия по изменению API.
- Вероятно, вы не сможете всегда делать это вовремя. Но по мере получения опыта и углубления в задачу мы начинаем лучше понимать расположение ограниченных контекстов. Бизнес тоже будет меняться, и нам придётся к этому быстро приспосабливаться! Так что наша система должна позволять быстро разделять и объединять микросервисы.
- Всегда может возникнуть необходимость внести критическое изменение в обратную совместимость (backwards compatibility breaking change). Но мы можем постараться делать это лишь в крайнем случае. Чтобы не менять свой сервис постоянно, создайте его так, чтобы сервис приходилось менять только при изменении действительно важных данных.
- Не дублируйте статичные файлы (HTML, CSS, JS, изображения) в приложениях и сервисах.
- Приложения с пользовательским интерфейсом должны быть полностью отделены от микросервисной экосистемы.
- Используйте однократные узлы.
- Используйте неизменяемое развёртывание (immutable deployments): никогда не обновляйте ПО на существующих узлах.
- Принятые в вашей архитектуре структура и система наименований должны быть одинаковыми для всей экосистемы микросервисов.
- Создайте генератор микросервисной песочницы, чтобы у вас была начальная точка с уже заданной привычной структурой.
- Создайте базовую клиентскую библиотеку HTTP REST, оптимизированную для REST-вызовов, на основе которой можно строить конкретный микросервисный клиент, им будут пользоваться другие микросервисы. Этот оптимизированный клиент должен быть портирован на все языки, применяемые в вашей экосистеме.
- Каждый микросервис должен знать, как контактировать с другими. Можно использовать локализованный (для каждого сервиса) конфиг, обновляемый сразу во всех местах при изменении расположения микросервиса.
- Измеряйте всё: сеть, машины, приложение.
- При создании нового микросервиса необходимо оснащать его всей необходимой функциональностью по мониторингу.
- Лучше использовать много маленьких запросов вместо нескольких больших (уберите соединения — joins).
- Разделяйте базы данных.
- Создавайте новые фичи в виде микросервисов, прототипов.
- Замените код в старой системе на API-вызовы новых микросервисов.
- Протестируйте в безумных условиях и под сумасшедшей нагрузкой.
- Это должно работать.
- Это должно работать быстро.
- Это должно быть дешёвым => спотовые экземпляры (spot instances) AWS экономят от 85 до 95 % серверных узлов.
- Повышайте скорость разработки и развёртывания с помощью Docker.
Заключение
В большинстве проектов не требуется микросервисная архитектура, им нужна хорошая архитектура. Под этим я подразумеваю не только хорошую структуру, но также (может, это даже важнее) ясное определение этой структуры, чёткое и аккуратное отражение структуры в самом коде, чтобы это было очевидно для разработчиков и помогло им выделить ограниченные контексты и понять, когда стоит пересекать границы, а когда нет.
А дальше уже разработчикам решать, поддерживать или развивать архитектурную структуру. Это подразумевает строгое следование плану, структуре, архитектуре, что не всегда легко. Ведь мы всего лишь люди.
Источник: habr.com