Штангенциркуль — Древесный путь
Штангенциркуль – измерительный инструмент для определения малых расстояний, глубины, диаметра деталей. Чтобы понять, как им пользоваться, надо внимательно изучить его строение. Штангенциркуль – прибор для измерений небольших расстояний, глубины, диаметра деталей. Измерения данным прибором получаются с точностью 0,1-0,01 мм. Наружные и внутренние диаметры измеряются широкими нижними и внутренними вспомогательными губками. Различают такие виды инструмента:
Принцип конструкции у них одинаковый, но вид отсчетного устройства разный. Строение прибораНа рисунке 1 изображен штангенциркуль марки ШЦ-1 с нониусом, который имеет такие составные части:
Рисунок 1. Устройство штангенциркуля ШЦ-1: 1 – штанга, 2 – рамка инструмента, 3 – шкала делений, 4 – внутренние губки, 5 – наружные губки, 6 – глубинометр, 7 – нониус, 8 – винт. Штанга – это измерительная линейка с градацией 1 мм, длина которой 150 мм. То есть максимальный размер измеряемой поверхности не должен превышать 15 см. Но есть и такие штангенциркули, длина штанги которых больше 15 см. Рамка штангенциркуля подвижная и предназначена для перемещения губок. С помощью рамки их можно расширять или сужать до необходимого размера. Винтом (поз.8) рамку можно фиксировать. Это нужно для того, чтобы после измерения детали не утратить нужное положение рамки. Малые раздвижные элементы измеряют внутренний размер какой-нибудь полости: внутренний диаметр втулки, внутренний размер между плоскостями сопрягаемых деталей. С помощью больших раздвижных элементов измеряют наружные размеры изделий: наружный диаметр, длину, ширину, высоту небольших деталей. Для этого губки необходимо развести по обе стороны измеряемой поверхности и плотно сомкнуть. Глубиномером измеряют глубину изделий. Он представляет собой тонкую выдвижную линейку. Данным приспособлением определяют глубину отверстий, различных выступов, которые трудно измерять стандартными методами. Нониус – это вспомогательная шкала на штангенциркуле. Нониус имеет 10 делений с размером 1,9 мм. Таким образом, общая длина шкалы равна 19 см. Вспомогательную шкалу используют для того, чтобы узнать размер с точностью до 0,1 мм. Когда пользуемся прибором, следует быть осторожными: инструмент имеет острые края. Правила пользования измерительным приборомПрежде чем приступить к измерениям, новый инструмент следует очистить на рабочих поверхностях и проверить его точность. Для этого надо совместить основные губки. При этом должны совпасть начальные отметки двух шкал: неподвижной рабочей, с миллиметровыми делениями и подвижной нониусной. Инструкция определения наружных размеров : Схема измерения детали при помощи штангенциркуля.
Измерения внутренних размеров:
Чтобы определить глубину отверстия, надо опустить глубиномер в полость отверстия. Наружные губки раздвигают до тех пор, пока глубиномер не упрется в дно поверхности. Это положение фиксируют винтом и приступают к снятию результатов. Чтобы правильно снять показания, штангенциркуль следует держать прямо перед глазами. Если смотреть на шкалу сбоку, то это приведет к погрешности измерений. Определение показанийЧетыре вида измерения штангенциркулем. Значение измерений определяет взаимное расположение двух шкал: основной и нониусной. Поверхность шкалы нониуса имеет скос для лучшего совмещения с основной шкалой. Для начала следует оценить целое число мм на основной шкале, которое располагается слева от начальной отметки нониуса. Например, если нулевая точка нониуса остановилась между делениями 33 мм и 34 мм, то целое число в мм равно 33. Далее определяют количество десятых долей измерительных единиц. Для этого на шкале нониуса находят штрих, который четко совпадает с какой-либо отметкой на основной шкале. Здесь важно именно точное совпадение! Значение совпадающего штриха на делении нониуса – это десятая часть мм. Если таких совпадений несколько, то учитывают ту цифру, которая ближе к нулевой точке нониуса. Например: на шкале нониуса два совпадающих штриха: на отметках 3 и 4. Учитывают значение «3». Складывая целую часть и десятые доли, получают показания измерений. Итак, в описанном примере получаем общий результат измерений: 33,3 мм. Считывать показания с помощью стрелочного инструмента очень легко. Целое число размера определяют по основному циферблату прибора. На вспомогательном отградуированном циферблате стрелка указывает десятые и даже сотые доли измерительных единиц. |
измерительный инструмент и приборы в Беларуси. Mahr
ООО «Первая Инструментальная Компания» на протяжении 13 лет поставляет измерительный инструмент и измерительные приборы в Республику Беларусь. Мы являемся одним из основных поставщиков средств измерений в Республике Беларусь. Наши средства измерений успешно работают в области автомобилестроения, тракторостроения, тяжелого машиностроения, станкостроения, металлообработки, нефтеперерабатывающей и других отраслях белорусской промышленности.
Имея огромный опыт поставок измерительных приборов и измерительного инструмента, наша компания является официальным представителем основных российских и европейских производителей измерительного инструмента в Беларуси , в том числе: MAHR (Германия), HELIOS-PREISSER (Германия), ЗАО ТД «Челябинский инструментальный завод» (ЧИЗ), ОАО «Ставропольский инструментальный завод» ( СТИЗ). Также мы предлагаем инструмент ЗАО «Кировский завод Красный Инструментальщик» (ЗАО «КРИН»), ОАО «Калибр», Mitutoyo, Tesa, Kroeplin, Kaffer, Voge», Renishaw и др.
подробнее
Штангенциркули ABSOLUTE IP67
- производитель: Mitutoyo
Данные прочные штангенциркули предназначены для надежных измерений и решения широкого круга измерительных задач. Штангенциркули ABSOLUTE Digimatic IP67 обладают следующими преимуществами: – Превосходная водо- и пылезащищенность (степень защиты …
подробнее
Нутромеры индикаторные для глухих отверстий (серия 511)
- производитель: MAHR
Эти нутромеры для глухих отверстий имеют следующие особенности: – Возможность измерять внутренние диаметры вблизи нижней части глухих отверстий. – Измерительные наконечники изготавливаются из твердого сплава, что повышает долговечность и …
подробнее
Нутромеры индикаторные короткого типа (серия 511)
- производитель: Mitutoyo
Эти компактные и легкие нутромеры имеют короткую ручку. Особенности: – Большой ход пятки обеспечивает высокую точность измерений. – Измерительные наконечники изготавливаются из твердого сплава, что увеличивает долговеч‐ ность и износостойкость. – …
подробнее
Нутромеры индикаторные с микрометрическими головками (серия 511)
- производитель: Mitutoyo
Эти нутромеры оснащаются микрометрическими головками, что позволяет производить измере‐ ния без сменных пяток. Особенности: – Большой ход микрометрических головок. – Измерительные наконечник — из твердого сплава, что гарантирует длительный срок …
подробнее
Комплект индикаторных нутромеров серия 511
- производитель: Mitutoyo
Погрешность: 2 МКМ Повторяемость: 0.5 МКМ …
подробнее
Индикаторные нутромеры серия 511
- производитель: Mitutoyo
Серия 511 Эти индикаторные нутромеры имеют возможность самоцентрирования благодаря центрирующему мостику. Основные особенности: – Простые в использовании нутромеры решают основные задачи по измерению внутренних диаметров (6-400 мм). – Большой ход …
подробнее
Индикаторные нутромеры для малых отверстий
- производитель: Mitutoyo
Серия 511 Эти индикаторные нутромеры имеют возможность самоцентрирования благодаря центрирующему мостику. Основные особенности: – Простые в использовании нутромеры решают основные задачи по измерению внутренних диаметров (6-400 мм). – Большой ход …
подробнее
Измерительная скоба с отсчетным устройством
- производитель: Mitutoyo
Скобы позволяют производить быстрые и точные измерения. Преимущества: – Идеальны для быстрых измерений деталей, особенно цилиндрических, в условиях серийного и массового производства. – Встроенный индикатор часового типа с указателями поля допусков …
подробнее
Штангенциркуль INSIZE ШЦ 0-150 (0-200: 0-300)
- производитель: INSIZE
Штангенциркуль ШЦ 0-150 Характеристики: Цена деления шкалы: 0.01 мм Батарейка CR2032 Создан для использования левой рукой Модель Диапазон Погрешность Ролик …
подробнее
Штангенциркуль INSIZE ШЦ 0-150 (0-200: 0-300)
- производитель: INSIZE
Штангенциркуль ШЦ 0-150 Характеристики: Класс защиты IP67 Цена деления шкалы: 0.01 мм Батарейка CR2032 …
подробнее
Штангенциркуль INSIZE ШЦ 0-300
- производитель: INSIZE
Штангенциркуль INSIZE ШЦ 0-300 Характеристики: Цена деления шкалы: 0. 01 мм Батарейка CR2032 Сталь DIN862 Модель Диапазон Точность Ролик 1196-300W 0-300мм/0-12 ± 0.03 — 1196-300 0-300мм/0-12 ± 0.03 + …
подробнее
Штангенциркуль INSIZE ШЦ 0-150 (0-200: 0-250: 0-300)
- производитель: INSIZE
Штангенциркуль ШЦ 0-150 Характеристики: Класс защиты IP67 Цена деления шкалы: 0.01 мм Батарейка CR2032 Модель Диапазон Точность Ролик 1108-150W 0-150мм/0-6 ± 0.02 — 1108-200W 0-200мм/0-8 ± 0.03 — 1108-250W 0-250мм/0-10 ± 0.03 — 1108-300W …
подробнее
Функции и важные детали штангенциркуля Уже установлено, что штангенциркуль является одним из наиболее широко используемых измерительных инструментов после мерной шкалы. Штангенциркуль позволяет пользователям измерять
Штангенциркуль, как и все остальное, претерпел модернизацию благодаря техническому прогрессу и превратился в цифровые штангенциркули , удобные и точные. У них также есть много других полезных функций, таких как подключение к компьютеру, возможность сравнивать длины и легко конвертировать единицы измерения. Однако ручные штангенциркули по-прежнему широко используются и сегодня и имеют некоторые преимущества перед цифровыми аналогами. Во-первых, они немного дешевле, чем цифровые штангенциркули, если только вы не говорите о рынке высокого класса.
Им не требуется батарея, что делает их готовыми к использованию в любое время, а отсутствие электронных компонентов также позволяет им работать в более суровых условиях, когда цифровой штангенциркуль может выйти из строя или выйти из строя. В этой статье мы сосредоточимся на ручном штангенциркуле и обсудим важные части штангенциркуля и их функции.
Нижние бранши:Верхние бранши являются наиболее заметной частью штангенциркуля. Эти губки предназначены для прочного захвата объектов между ними для измерения. Одна из губок неподвижна и прикреплена к основной шкале штангенциркуля, а другая прикреплена к нониусной шкале и подвижна. Нижние губки позволяют штангенциркулю измерять внешние размеры объектов, такие как длина, ширина или диаметр.
Верхние кулачки:Верхние бранши меньше по размеру и крепятся к верхней части штангенциркуля. Подобно нижним челюстям, одна из этих челюстей неподвижна, а другая подвижна. Отличие их от нижних губок заключается в том, что верхние губки используются для измерения внутренних размеров полых предметов, таких как внутренний диаметр труб, длина и ширина ящиков и т. д. Челюсти помещаются внутрь измеряемого места, а затем открываются до тех пор, пока они касаются краев, и показания берутся в этой точке.
Стержень глубины:Стержень глубины — еще одна полезная функция штангенциркуля, которую можно использовать для измерения глубины отверстий или ступеней. Стержень глубины представляет собой тонкий стержень, расположенный на конце основной шкалы. Для измерения глубинной рейкой край основной шкалы помещают на верхнюю поверхность отверстия, а затем открывают губки. Когда челюсти открываются, глубинный стержень выдвигается вместе с основной шкалой. Глубинный стержень выдвигают до тех пор, пока он не коснется дна отверстия, и показания снимаются, как обычно.
Основная шкала:Основная шкала представляет собой большую шкалу, проходящую вдоль корпуса штангенциркуля. Он градуирован либо в сантиметрах и миллиметрах, либо в дюймах, в зависимости от типа единиц измерения, для которых он предназначен. В единицах СИ самое низкое деление основной шкалы обычно составляет 1 мм. Основные весы неподвижны.
Нониусная шкала:Нониусная шкала является определяющим компонентом штангенциркуля и тем, что дало ему название. Штангенциркуль представляет собой меньшую шкалу, прикрепленную к основной шкале, и может перемещаться вдоль основной шкалы при открывании или закрывании губок. Нониусная шкала обеспечивает точность до показания основной шкалы путем дальнейшего деления наименьшего показания основной шкалы на приращения. В метрическом штангенциркуле шкала нониуса разделена на 50 делений, каждое из которых соответствует 0,02 мм.
Винт с накатанной головкой:Винт с накатанной головкой расположен в нижней части нониуса. Его цель состоит в том, чтобы предоставить пользователю возможность легко перемещать челюсти и регулировать положение челюстей и стержня глубины, сохраняя при этом прочный захват объекта.
Стопорный винт:Стопорный винт используется для фиксации положения зажимов после того, как объект установлен правильно, чтобы можно было снимать показания, не опасаясь испортить положение.
Рекомендуемые сообщения
Комментарии (5)
Архитектура | Hyperledger Caliper
Содержание
- Обзор
- Вид с высоты птичьего полета
- Файл конфигурации эталона
- Файл конфигурации сети
- Модули рабочей нагрузки
- Тестовые артефакты
- Многоплатформенная поддержка
- Каверномерные процессы
- Основной процесс
- Рабочий процесс
Модели распределения процессов- Модульный транспорт сообщений
- Межпроцессное взаимодействие
- Связь с локальным брокером сообщений
- Связь брокера распределенных сообщений
- Лицензия
Обзор
Caliper — это общая структура для выполнения тестов на различных блокчейн-платформах. Caliper был разработан с учетом масштабируемости и расширяемости, чтобы легко интегрироваться с популярными современными решениями для мониторинга и инфраструктуры. Соответственно, архитектура Caliper поначалу может показаться немного сложной.
Эта страница предназначена для того, чтобы постепенно вводить вас в тонкости архитектуры Caliper, шаг за шагом. К концу этой страницы вы должны быть знакомы с общими понятиями и API Caliper. По мере чтения вы найдете ссылки на другие, более технические страницы документации. Не стесняйтесь исследовать их, как только вы познакомитесь с основными строительными блоками Caliper.
Вид с высоты птичьего полета
В самом простом виде Caliper представляет собой службу, которая создает рабочую нагрузку для конкретной тестируемой системы (SUT) и постоянно отслеживает ее ответы. Наконец, Caliper создает отчет на основе наблюдаемых ответов SUT. Этот упрощенный вид изображен на следующем рисунке.
Каверномеру требуется несколько входных данных для выполнения эталонного теста, независимо от используемой SUT. В следующих подразделах дается краткий обзор этих входных данных.
Файл конфигурации эталонного теста
Файл конфигурации эталонного теста описывает, как должен выполняться эталонный тест. Он сообщает Caliper, сколько раундов он должен выполнить, с какой скоростью следует отправлять TX и какой модуль будет генерировать содержимое TX. Он также включает настройки мониторинга ТУС.
Этот файл можно рассматривать как «потоковую оркестрацию» теста. По большей части настройки не зависят от ТУС, поэтому вы можете легко использовать их повторно при выполнении нескольких эталонных тестов с разными типами или версиями ТУС.
Примечание: Дополнительные технические сведения о файле конфигурации эталонного теста см. на соответствующей странице.
Файл конфигурации сети
Содержимое файла конфигурации сети зависит от ТУС. Файл обычно описывает топологию SUT, где находятся ее узлы (их адреса конечных точек), какие удостоверения/клиенты присутствуют в сети и какие смарт-контракты Caliper должен развертывать или с которыми должен взаимодействовать.
Точную структуру файлов конфигурации сети см. в документации к соответствующему адаптеру SUT (мы обсудим адаптеры чуть позже на этой странице):
- Hyperledger Бесу и Эфириум
- Нора Гиперледжера
- Ткань Hyperledger
- Гиперледжер Ироха
- Пилообразный зуб Hyperledger
- ФИСКО БКОС
Модули рабочей нагрузки
Модули рабочей нагрузки — это мозг теста. Поскольку Caliper — это общая среда тестирования, она не включает в себя какую-либо конкретную реализацию теста. Когда Caliper планирует TX для данного раунда, задачей модуля рабочей нагрузки раунда является создание содержимого TX и его отправка. С каждым раундом может быть связан другой модуль рабочей нагрузки, поэтому разделение реализации рабочей нагрузки на основе фаз/поведения должно быть простым.
Модули рабочей нагрузки — это просто модули Node.JS, которые должны экспортировать заданный API/функции. В остальном логика модуля рабочей нагрузки может быть произвольной. На самом деле все, что вы можете закодировать в Node.JS.
Примечание: Дополнительные технические сведения о модулях рабочей нагрузки см. на соответствующей странице.
Артефакты эталонного теста
Для выполнения эталонного теста могут потребоваться дополнительные артефакты, которые могут варьироваться в зависимости от разных тестов и прогонов. К ним обычно относятся следующие:
- Криптоматериалы, необходимые для взаимодействия с ТУС.
- Исходный код смарт-контракта для развертывания Caliper (если адаптер SUT поддерживает такую операцию).
- Файлы конфигурации среды выполнения.
- Предустановленные сторонние пакеты для ваших модулей рабочей нагрузки.
Дополнительные необходимые артефакты см. на страницах конфигурации адаптера SUT.
Примечание: С этого момента мы будем называть представленные входные данные Caliper просто артефактами эталонного теста и обозначать их символом базы данных, показанным на первом рисунке.
Многоплатформенная поддержка
Прежде чем мы углубимся в архитектуру Caliper, давайте посмотрим, как Caliper может поддерживать несколько типов SUT. Caliper реализует хорошо известный шаблон адаптер/фасад, чтобы скрыть особенности различных типов SUT и обеспечить унифицированный интерфейс для модулей Caliper (и внешних).
Примечание: Шаблоны проектирования адаптера и фасада частично совпадают в задачах, которые они призваны решить. Калипер позаимствовал детали у обоих. Однако мы используем терминологию адаптера во всей документации из соображений согласованности.
Адаптер SUT обеспечивает упрощенный интерфейс для внутренних модулей Caliper, а также для модулей рабочей нагрузки. Соответственно, Caliper может запросить выполнение простых вещей, таких как «инициализировать адаптер/ТРИ», а реализация адаптера позаботится обо всем остальном. Точные задачи, которые необходимо выполнить во время инициализации, часто определяются содержимым файла конфигурации сети (и удаленными административными действиями, поддерживаемыми ТУС).
Примечание: Технические подробности реализации адаптера см. на соответствующей странице.
Caliper обрабатывает
Caliper считает масштабируемость одной из своих наиболее важных целей (помимо расширяемости/гибкости). Генерация рабочей нагрузки на одном компьютере может быстро привести к ограничению ресурсов компьютера. Если мы хотим, чтобы уровень рабочей нагрузки соответствовал характеристикам масштабируемости и производительности оцениваемой SUT, нам нужен распределенный подход!
Соответственно, Caliper (как структура) состоит из двух разных служб/процессов: основного процесса и многочисленных рабочих процессов.
- Главный процесс инициализирует SUT (если поддерживается) и координирует выполнение эталонного теста (т. е. составляет расписание настроенных раундов) и обрабатывает создание отчета о производительности на основе наблюдаемой статистики TX.
- Рабочие процессы выполняют фактическую генерацию рабочей нагрузки независимо друг от друга. Даже если рабочий процесс достигает пределов своей хост-машины, использование большего количества рабочих процессов (на нескольких машинах) может еще больше увеличить скорость загрузки Caliper. Таким образом, рабочие процессы являются основой масштабируемости Caliper.
Описанная установка показана на следующем рисунке.
Примечание: Пока что мы будем игнорировать технические детали распределенной архитектуры, такие как обмен сообщениями между процессами. Мы вернемся к нему в следующем разделе.
Главный процесс
Главный процесс Caliper является оркестратором всего выполнения теста. Он проходит через несколько предопределенных этапов, как показано на рисунке ниже.
- На первом этапе Caliper выполняет сценарий запуска (если он есть) из файла конфигурации сети. Этот шаг в основном полезен для локальных развертываний Caliper и SUT, поскольку он обеспечивает удобный способ запустить сеть и Caliper за один шаг.
Примечание: Caliper не несет ответственности за развертывание SUT. Технически Caliper подключается только к уже работающей SUT, даже если она была запущена через сценарий запуска.
- На втором этапе Caliper инициализирует SUT. Выполняемые здесь задачи сильно зависят от возможностей ТУС и адаптера ТУС. Например, адаптер Hyperledger Fabric использует этот этап для создания/присоединения к каналам и регистрации/регистрации новых пользователей.
- На третьем этапе Caliper развертывает смарт-контракты в SUT, если SUT и адаптер поддерживают такую операцию (например, с адаптером Hyperledger Fabric).
- На четвертом этапе Caliper планирует и выполняет настроенные раунды через рабочие процессы. На этом этапе происходит генерация рабочей нагрузки (через воркеров!).
- На последнем этапе, после выполнения раундов и создания отчета, Caliper выполняет сценарий очистки (если он есть) из файла конфигурации сети. Этот шаг в основном полезен для локальных развертываний Caliper и SUT, поскольку он предоставляет удобный способ отключить сеть и любые временные артефакты.
Если ваша SUT уже развернута и инициализирована, вам нужен Caliper только для выполнения раундов и ничего больше. К счастью, вы можете настроить каждый этап отдельно, независимо от того, должен он выполняться или нет. Подробнее см. в настройках управления потоком.
На приведенном выше рисунке показаны только высокоуровневые этапы выполнения теста. Некоторые компоненты опущены для простоты, например компоненты монитора и наблюдателя за ходом работы. Чтобы узнать больше о назначении и настройке этих компонентов, обратитесь к странице документации Monitors and Observers.
Рабочий процесс
Интересные вещи (с точки зрения пользователя) происходят внутри рабочих процессов. Рабочий процесс начинает свои важные задачи, когда главный процесс отправляет ему сообщение о выполнении следующего раунда (4-й шаг в предыдущем разделе). Важные компоненты рабочего процесса показаны на рисунке ниже.
Рабочий процесс проводит большую часть своего времени в цикле генерации рабочей нагрузки. Цикл состоит из двух важных шагов:
- Ожидание, пока регулятор скорости разрешит следующую передачу. Думайте о регуляторе скорости как о схеме задержки. В зависимости от того, какой тип контроллера скорости используется, он задерживает/останавливает выполнение рабочего процесса (асинхронно) перед включением следующего TX. Например, если настроена фиксированная скорость 50 TX в секунду (TPS), контроллер скорости будет останавливаться на 20 мс между каждым TX.
Примечание: Контроллеры скорости каждого раунда могут быть настроены в файле конфигурации теста. Чтобы узнать о доступных регуляторах скорости, см. страницу «Контроллеры скорости».
- Как только контроллер скорости разрешает следующую передачу, рабочий процесс передает управление модулю рабочей нагрузки. Модуль рабочей нагрузки собирает параметры TX (специфические для SUT и API смарт-контракта) и вызывает простой API адаптера SUT, который, в свою очередь, отправляет запрос TX на SUT (вероятно, используя SDK SUT) .
Примечание: Модули рабочей нагрузки каждого раунда можно настроить в файле конфигурации эталонного теста. Технические сведения о модулях рабочей нагрузки см. на странице Модули рабочей нагрузки.
Во время цикла рабочей нагрузки рабочий процесс отправляет обновления о ходе выполнения главному процессу. Доступны несколько подходов для сигнализации прогресса рабочего процесса, достигнутого разными наблюдателями. Доступные методы см. на странице «Мониторы и наблюдатели».
Модели распределения процессов
Последняя часть обсуждения архитектуры посвящена демистификации управления рабочими процессами. В зависимости от того, как запускаются рабочие процессы и какой метод обмена сообщениями используется между главным и рабочим процессами, можно выделить следующие модели распространения/развертывания:
- мастер процесс.
- Автоматически созданные рабочие процессы на том же хосте с использованием механизма удаленного обмена сообщениями с главным процессом.
- Вручную запущены рабочие процессы на произвольном количестве хостов с использованием механизма удаленного обмена сообщениями с главным процессом.
Несмотря на то, что третий метод подходит для более сложных сценариев, первые два метода могут помочь вам познакомиться с Caliper и постепенно помочь вам перейти к третьему методу.
Модульный транспорт сообщений
Различные подходы к развертыванию становятся возможными благодаря тому, как Caliper обрабатывает обмен сообщениями внутри, как показано на следующем рисунке.
Внутренние модули Caliper работают только с предопределенными сообщениями, содержание которых не зависит от способа отправки сообщений. Модуль, который отправляет сообщения между процессами, является заменяемым, что позволяет использовать различные методы связи.
Модель развертывания настраивается с помощью следующих двух ключей настройки:
-
caliper-worker-remote
: если установлено значениеfalse
(по умолчанию), то главный процесс создаст необходимое количество рабочих процессов локально, в результате получаются модели 1 или 2. -
caliper-worker-communication-method
: может принимать значенияprocess
(по умолчанию) илиmqtt
и определяет используемую реализацию транспорта сообщений. Связь процессаmqtt
обозначает модели 2 и 3.
В следующей таблице приведены различные модели и способы их выбора:
удаленный значение | метод значение | Соответствующая модель развертывания |
---|---|---|
ложный | процесс | 1. Межпроцессное взаимодействие с локальными воркерами |
ложный | квт | 2. Удаленное общение на основе обмена сообщениями с местными работниками |
правда | квт | 3. Удаленное общение на основе обмена сообщениями с удаленными работниками |
правда | процесс | Недействительно, так как IPC не применяется к удаленной связи |
Примечание: Технические подробности настройки транспорта обмена сообщениями см. на странице Мессенджеры.
Межпроцессное взаимодействие
Во всех примерах на странице «Установка и использование» используется подход IPC, поскольку он используется по умолчанию. Установка показана на рисунке ниже.
Команда CLI Caliper Launch Master
запускает главный процесс, который, в свою очередь, автоматически запускает настроенное количество рабочих процессов (используя команду CLI Caliper Launch Worker
). Связь между процессами представляет собой IPC с использованием встроенного метода Node.JS, доступного для отношений между родительскими и дочерними процессами.
Это самая простая модель развертывания для Caliper, не требующая дополнительной настройки и сторонних компонентов обмена сообщениями. Соответственно, это идеально, когда вы впервые начинаете использовать Caliper или когда вы еще собираете артефакты бенчмарка для своего проекта и просто хотите быстро их протестировать.
К сожалению, эта модель ограничена одним хостом, поэтому страдает масштабируемостью в том смысле, что возможна только вертикальная масштабируемость хоста.
Связь с локальным брокером сообщений
В качестве ступени к полностью распределенной установке вторая модель развертывания заменяет IPC сторонним решением для обмена сообщениями, при этом управление рабочими процессами остается скрытым от пользователя. Установка показана на рисунке ниже.
Как и прежде, команда CLI Caliper Launch Master
запускает основной процесс, который, в свою очередь, автоматически порождает настроенное количество рабочих процессов (используя команду CLI Caliper Launch Worker
). Однако обмен сообщениями происходит через отдельный компонент, который можно развернуть где угодно, если его конечная точка доступна процессам Caliper.
К сожалению, эта модель также ограничена одним хостом с точки зрения процессов Caliper. Тем не менее, это полезная модель для перехода вашего развертывания на следующий уровень после того, как ваши эталонные артефакты будут готовы. После того, как вы успешно интегрировали компонент обмена сообщениями, вы готовы перейти к полностью распределенной настройке Caliper.
Связь с брокером распределенных сообщений
Когда вы берете управление рабочими процессами в свои руки, тогда весь потенциал Caliper раскрывается. На этом этапе вы можете запустить столько рабочих процессов на любом количестве хостов, используя CLI-команду Caliper Launch Worker
. Установка показана на рисунке ниже.
Полностью распределенное развертывание обеспечивает горизонтальное масштабирование рабочих процессов, что значительно увеличивает достижимую скорость рабочей нагрузки. Чтобы упростить управление многими процессами Caliper, вы, вероятно, будете использовать какое-либо решение для автоматического развертывания/управления, такое как Docker Swarm или Kubernetes. К счастью, гибкость образа Caliper Docker делает такую интеграцию безболезненной.
Однако следует помнить о некоторых предостережениях:
- Ответственность за распространение необходимых артефактов эталонного теста для процессов Caliper лежит на вас. Различные инфраструктурные решения предоставляют для этого разные средства, поэтому ознакомьтесь с документацией вашего любимого поставщика.
- Настройка надлежащей сети в распределенных системах всегда является сложной задачей. Убедитесь, что процессы Caliper могут получить доступ к настроенному компоненту обмена сообщениями и компонентам SUT.
- На одном хосте может выполняться несколько рабочих процессов Caliper. При планировании распределения рабочих процессов (или установке требований к ресурсам для решений по управлению контейнерами) убедитесь, что для рабочих процессов выделено достаточно ресурсов, чтобы сохранить настроенную точность планирования TX.