Проверка и тестирование нескольких заказов с использованием кластера Kafka - PullRequest
0 голосов
/ 26 июня 2018

У меня матрица с 3 заказчиками, но проблема в том, что когда я останавливаю контейнер заказов, работающий на порту 7050, я не могу выполнить транзакцию.Это говорит мне, что «служба недоступна», но когда я останавливаю другой контейнер (который работает на порте, отличном от 7050), все работает нормально.Что должно быть причиной этого?Я проверил журналы пиров и заказчиков, но нет ничего похожего на ошибку.Может ли кто-нибудь помочь мне с этим?

Моя сеть состоит из 1 пира, 1 CA и 3-х заказчиков. У меня есть 3 зоопарка и 4 брокера Kafka.

регистрируется, когда я запускаю фабрику:

1. peer logs: https://pastebin.com/hPhKu3QB
2. orderer0 logs: https://pastebin.com/57aYAeW2
3. orderer1 logs: https://pastebin.com/PzLKurE2
2. orderer2 logs: https://pastebin.com/5D4shcJN

Не все три созданных заказа могут подключиться к клиенту, но только заказчик, сопоставленный с портом 7050, может подключиться к клиенту.Остальные двое заказчиков просто запускают контейнеры, которые, похоже, ничего не делают.Просто чтобы убедиться, что кластер Kafka работает правильно, мы попытались остановить контейнеры один за другим и обнаружили, что только один контейнер может принять транзакцию (вызывая compisser rest apis), а другие выдают ошибку SERVICE_UNAVAILABLE.

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

2018-06-25 09: 53: 23.723 UTC [common / delivery] deliveryBlocks -> WARN 4da [channel: composerchannel] Отклонение запроса на доставку для 172.18.0.14:37702 из-за ошибки согласователя

Примечание. Я проверяю его с помощью инструмента composer.Я также могу поделиться кодом, если кто-нибудь может разобраться.

Надеюсь, это имеет смысл для вашей цели.Дайте мне знать, если что-нибудь спросите.

Заранее спасибо.

1 Ответ

0 голосов
/ 22 декабря 2018

Вы можете настроить прокси позади Заказчика. В моем тестовом примере я использовал haproxy

Мой haproxy-config:

 frontend HAPROXY
bind *:80
    mode tcp
    default_backend orderers
 backend orderers
    mode tcp
    stats enable
    balance roundrobin
    server orderer1 Orderer1-IP:Orderer1-PORT check
    server orderer2 Orderer2-IP:Orderer2-PORT check
    server orderer3 Orderer3-IP:<Orderer3-PORT check

Наконец,
Вы должны использовать только URL Haproxy в вашем connection-profile.json

Теперь вы можете проверить отказоустойчивость Orderer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...