Сервис упорядочивания Hyperledger Fabric
Сервис упорядочивания Hyperledger Fabric предоставляет сервис атомарного широковещательного упорядочивания для использования пирами. Это означает, что множество клиентов могут отправлять сообщения сервису упорядочивания, и всем клиентам в ответ будет доставлена одна и та же последовательность упорядоченных пакетов.
Протокол атомарного широковещательного упорядочивания для Hyperledger Fabric описан в hyperledger/fabric-protos/orderer/ab.proto
. Существует два сервиса: сервис Broadcast
для ввода сообщений в систему и сервис Deliver
для получения упорядоченных пакетов от сервиса.
Чтобы установить тип сервиса, администратору сервиса упорядочивания необходимо установить правильное значение в генезисном блоке, из которого будут загружаться узлы сервиса упорядочивания.
В частности, значение, соответствующее ключу ConsensusType
карты Values
группы конфигурации Orderer
, должно быть установлено на BFT
или etcdraft
.
Для получения подробной информации о структуре конфигурации каналов обратитесь к руководству Channel Configuration.
configtxgen
— это инструмент, который позволяет создать генезисный блок с использованием профилей или сгруппированных параметров конфигурации — обратитесь к руководству Configuring using the connfigtxgen tool для получения дополнительной информации.
Местоположение этого блока можно задать с помощью переменной среды ORDERER_GENERAL_BOOTSTRAPFILE
. Как и в случае со всеми путями конфигурации для бинарных файлов Fabric, это местоположение является относительным к пути, заданному через переменную среды FABRIC_CFG_PATH
.
Чтобы обеспечить устойчивость к сбоям, упорядочиватель использует файловый реестр для сохранения блоков в файловой системе. Расположение блоков на диске «индексируется» в облегчённой базе данных LevelDB по номеру, чтобы клиенты могли эффективно извлекать блок по номеру.
Чтобы экспериментировать с сервисом упорядочивания, вы можете собрать двоичный файл упорядочивателя, просто набрав go build
в каталоге hyperledger/fabric/orderer
. Затем вы можете вызвать двоичный файл упорядочивателя без параметров или переопределить адрес привязки и порт, установив переменные среды ORDERER_GENERAL_LISTENADDRESS
и ORDERER_GENERAL_LISTENPORT
соответственно.
Образцы клиентов находятся в каталоге fabric/orderer/sample_clients
.
broadcast_timestamp
отправляет сообщение, содержащее метку времени, сервису Broadcast
.deliver_stdout
выводит полученные пакеты на стандартный вывод из интерфейса Deliver
.Оба клиента можно собрать, просто набрав go build
в соответствующих каталогах. Обратите внимание, что ни один из этих клиентов не поддерживает конфигурацию (поэтому необходимо вручную отредактировать исходный код для настройки адреса и порта) или подписание (поэтому они могут работать только с каналами, где не применяется ACL).
Профилирование сервиса упорядочивания возможно через стандартный HTTP-интерфейс, описанный здесь. Сервис профилирования можно настроить с помощью файла orderer.yaml или через переменные среды. Чтобы включить профилирование, установите ORDERER_GENERAL_PROFILE_ENABLED=true
и, при необходимости, установите ORDERER_GENERAL_PROFILE_ADDRESS
на желаемый сетевой адрес для сервиса профилирования. По умолчанию адрес равен 0.0.0.0:6060
, как указано в документации Golang.
Обратите внимание, что сбои сервиса профилирования, либо при запуске, либо в любое время во время работы, приведут к сбою всего сервиса упорядочивания. Поэтому в настоящее время не рекомендуется включать профилирование в производственных условиях. хрэф="http://creativecommons.org/licenses/by/4.0/">Криэйтив коммонс аттрибуция форти интернэшнл лайсенс</а>.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )